在我的 NativeScript 应用程序中有一个 ListView。我想将一组 Observable 对象绑定到它以单独修改每个项目。然而,NativeScript 似乎为每个 ListView 项绑定了相同的单个项(绑定数组的最后一项)
这是我的布局:
<Page loaded="onPageLoaded">
<StackLayout orientation="vertical">
<ListView items="{{items}}">
<ListView.itemTemplate>
<Label text="{{name}}" />
</ListView.itemTemplate>
</ListView>
</StackLayout>
</Page>
ViewModel 是这样的:
var observableModule = require("data/observable");
var observableArray = require("data/observable-array");
var viewModule = require("ui/core/view");
var items = [
new observableModule.Observable({name:"Item 1"}),
new observableModule.Observable({name:"Item 2"})
];
var pageData = new observableModule.Observable();
var page;
exports.onPageLoaded = function(args) {
page = args.object;
pageData.set("items",items);
page.bindingContext = pageData;
};
我希望 ListView 显示“项目 1”和“项目 2”,但它显示“项目 2”、“项目 2”。您可以在此屏幕截图中看到问题:
顺便说一下,当前的目标是Android。