說我有這個數組同類型的對象:打開某些observableArray對象的屬性變成可觀察
var people = [
{ status: 0, name: "name1"},
{ status: 1, name: "name2"}
];
,我希望它不僅是observableArray,而且我想只能觀察,比如說,狀態屬性的每個對象。
想象一下,可能會添加或刪除對象本身。任何這些對象的名稱屬性都不會改變,所以我不需要觀察名稱,但是每個對象的狀態可能會發生變化,因此使其可觀察是很酷的。
是否有可能使用一些很酷的hack語法將其與knockout實用程序進行映射,還是必須迭代每個對象並將其狀態屬性映射到observable或讓整個數組及其對象屬性可觀察?
如果對象具有更多的屬性,我希望只有一個屬性是可觀察的,那麼我需要明確列出每個屬性,而不管是否可觀察? – patryk
來到這樣的東西,但你的方式看起來更專業:我再次好奇的是一件簡單的事情:是'var vm = ko.mapping.fromJS(data,{});'與'var vm; ko.mapping.fromJS(data,{},vm);' – patryk
第一個調用是用於初始調用,第二個用於更新。 更新「意味着」當您從服務器收到「新鮮」數據時,您需要更新現有視圖模型。 – Damien