按照主從樣品,如this創建活動項,但與的ViewModels工廠模式:KnockoutJS訪問經由活化劑forItems
this.activateProduct = activator.create().forItems(this.products);
<div data-bind="foreach: products">
<a data-bind="click: $parent.activateProduct">click activates</a>`
</div>
調試<pre data-bind="text: ko.toJSON(activateProduct, null, 2)"></pre>
模型輸出和它的數據。
然而<div data-bind="text: activateProduct.name"></div>
回報什麼,試圖展開,呼籲爲valueAssessor功能等,並不能找到它ko.toJSON
莫名其妙地找到了觀測。
在儲存「當前項目」時,是否需要使用activateItem
將這一切分解爲單獨的步驟?
任何將檢索裏面的observables的語法?
只是爲了澄清: 如果你使用'文本:activateProduct()name'將你鎖定到產品的靜態版本,當你改變了'activateProduct'觀察到的值權不會改變? – Nate
它似乎不是......第一次通過綁定沒有賦值給變量的激活器,所以在那個階段它會出錯「不是函數」。然後當綁定確實出現時,它不知道用新數據刷新顯示(因爲綁定失敗)。你可以跳過'ko.unwrap',然後檢查函數是否存在......也許如果我在構造函數的早期給它分配了一些東西,並且綁定,而不是等待激活器來定義'activateProduct'(或者bound一個代理函數,然後在裏面有激活器,也許)。 – MrYellow
'with'綁定怎麼樣? – Nate