2013-06-12 89 views
0

第一次單擊Button時,所有的綁定都是正確的。但是當我第二次點擊按鈕時,所有舊值仍然與我的視圖綁定?我該如何重新應用新的綁定到我的breeze.js視圖模型?Breeze.js和knockout.js第二次應用綁定

JS

var manager = new breeze.EntityManager('/breeze/corporations'); 

$("#myButton").click(function() { 

    var query = breeze.EntityQuery.from("Corporations").where("Name", "startsWith", "Zen"); 

    manager.executeQuery(query) 
        .then(querySucceeded) 
        .fail(queryFailed); 

    function querySucceeded(data) { 
     var ib = $("#infoBox")[0]; 
     ko.applyBindings(data, ib); 
    } 
}); 

的Html

<div id="infoBox""> 
    <ul data-bind="foreach: results"> 
     <li> 
      <strong><span data-bind="text:City"></span></strong> 
      <span data-bind="text:Name"></span>  
     </li> 
    </ul> 
</div> 

回答

1

你不應該重新綁定。您應該只更新數據。您不應將綁定多次應用於相同的DOM元素。

+0

好的,謝謝。我只是添加了一個變量'isapplied'並檢查它的狀態 – daniel

+0

編輯:視圖仍然沒有更新。同樣的問題在這裏:http://stackoverflow.com/questions/17150023/breeze-js-query-does-not-update-knockout-view?noredirect=1#comment24824907_17150023 – daniel