3
我想弄清楚爲什麼這個嵌套模板不顯示任何東西。我有2個班富/酒吧,視圖模型有富可觀察到的數組,和Foo有酒吧如何knockoutjs嵌套模板
集合目前所有我看到的是富項目
即
- someitem
,而不是
someitem
- 子項目
列表項
<ul data-bind="template: {name: 'TopTemplate' , foreach: foos}"></ul>
<script type="text/html" id="TopTemplate">
<li data-bind='text: Name'>
<ul data-bind=" template: {name: 'NestedTemplate' , foreach: bars} " style="list-style-type:circle;margin-left:15px">
</ul>
</li>
</script>
<script type="text/html" id="NestedTemplate">
<li data-bind='text: Name'>
</li>
</script>
var Foo = function() {
var self = this;
self.Name = ko.observable('someitem');
self.bars = ko.observableArray([new Bar()]);
self.HasChildren = ko.observable(false);
self.addBar = function() {
self.bars.push(new Bar());
};
self.removeBar = function (param) {
self.bars.remove(param);
};
self.bars.push(new Bar());
}
var Bar = function() {
var self = this;
self.Name = ko.observable('subitem');
}
var ViewModel = function() {
var self = this;
self.foos = ko.observableArray([new Foo()]);
self.addFoo = function() {
self.foos.push(new Foo());
};
self.removeFoo = function (param) {
self.foos.remove(param);
};
}
$.ajax({
url: '@Url.Action("AddFoos")',
type: 'GET',
async: false,
contentType: 'application/json',
success: function (result) {
ko.applyBindings(new ViewModel(result));
}
});
提前感謝!
非常感謝。 – MikeW 2012-08-02 01:40:38
啊!浪費了一個小時之後,找到了你的答案。謝謝:)來自Knockout源的 – solefald 2012-10-05 04:24:30
:'text'綁定使用'ko.util.setTextContent()',它有這個註釋'我們需要在那裏有一個孩子:一個文本節點。如果沒有孩子,不止一個,或者如果它不是文本節點,我們將清除所有內容並創建一個文本節點。「 – 2014-09-29 06:58:01