在我的NativeScript应用程序中有一个ListView。我想绑定一个Observable对象数组来修改每个项目。然而NativeScript似乎在同一个项目(绑定数组的最后一个项目)绑定为每个ListView项ListView中的可观察元素不正确地绑定元素
这是我的布局:
<Page loaded="onPageLoaded">
<StackLayout orientation="vertical">
<ListView items="{{items}}">
<ListView.itemTemplate>
<Label text="{{name}}" />
</ListView.itemTemplate>
</ListView>
</StackLayout>
</Page>
视图模型是这样的:
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显示“Item 1”和“Item 2”,但它显示“Item 2”,“Item 2”。你可以看到在这张截图的问题:
目前的目标就是Android的方式。
优秀的职位!相反,只需使用新的Observable()实例化Observable,然后为每个属性添加 .set(“my_property”,my_value)即可。 –
Avrohom
运行Nativescript项目的特别有用的人改进了我的pull请求,并将更改合并为主分支,作为新的请求[#927](https://github.com/NativeScript/NativeScript/pull/927) –