2014-10-18 32 views
1

所以基本上我想做的事情是這樣的:如何從另一個視圖更改durandal的ko.observabel?

main.html中:

<div style="cursor:pointer" data-bind="compose: {model: $data, view: "child.html"}" /> 
    <div style="background-color:#CCC; cursor:pointer; width:45px; " data-bind="visible: selectedlist().length > 0">something</div> 

main.js:

self.selectedlist = ko.observableArray([]); 
    self.addfnc = function(){self.selectedlist().add;} 

child.html:

<div data-bind="click: addfnc()">ADD</div> 

它調用該函數並將其添加到列表中,但在main.html中沒有任何更改。爲什麼?

回答

2

問題是因爲您將新東西添加到observableArray的結果中,而不是observableArray本身。當你想更新基礎ko.observableArray你所要做的

self.selectedlist.push('Whatever') 

對於信息關於操縱淘汰賽陣列看看their documentation

+0

男人你救了我的命。我真的認爲這將是一個更復雜的問題。非常感謝你。 – DalekSupreme 2014-10-18 16:21:06

相關問題