我已将我的网站更新为最新的 JQuery、JQueryUI 和 KnockOutJS。
从那时起,当我将项目添加到我的可观察数组时,我的手风琴拒绝更新。当将 KnocKOutJS 2.0.0 版与 JQuery 的旧版本一起使用时,这工作得很好。
我已经在 JSFiddler 中重现了这个问题,希望能提供任何帮助。javascript 是我实际代码的高度简化版本。
http://jsfiddle.net/glenb/M9222/6/
任何帮助将不胜感激。我的模型如下所示:
function ModelCollection() {
var self = this;
self.ModelItems = ko.observableArray([]);
self.AddNewItem = function(){
var newItem = new ModelItem();
newItem.Name = "Added";
modelCollectionApp.ModelItems.push(newItem);
};
}
function ModelItem() {
var self = this;
self.Name = "";
}
的HTML:
<div id="knockOutBinding">
<div data-bind="foreach: ModelItems, jqAccordion: {}">
<h3>An Element Title</h3>
<div>Some Content</div>
</div>
<button data-bind="click: AddNewItem">Add New Item</button>
</div>
最后我最初填充它并绑定它
var modelCollectionApp = new ModelCollection();
var modelItem = new ModelItem();
modelItem.Name = "test1";
modelCollectionApp.ModelItems.push(modelItem);
var modelItem = new ModelItem();
modelItem.Name = "test2";
modelCollectionApp.ModelItems.push(modelItem);
ko.applyBindings(modelCollectionApp, document.getElementById("knockOutBinding"));