在我的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) –