我有几个HTML页面,我将其转换为块HTML,以便将它们注入我的主容器中。但是,我必须使用敲除绑定,因为ko.applyBindings (viewModel)
。
如果我使用jQuery $('container').html(...)
更改,则不再有效吗?
这是我的代码:
var viewModel = {
appView: {
Html: ko.observableArray()
}
}
this.loadHtmlToPage = function (htmlblock) {
var contentPage = function (status) {
this.chain = ko.observable(status);
}
viewModel.appView.Html.push(new contentPage(htmlblock));
}
<div id="container" data-bind="html: chain"></div>
答案 0 :(得分:1)
对我来说显而易见的一件事是,每次分配chain
时,您都要将observable
设置为新chain
。要给出可观察的新内容,请将它们作为参数传递。
在viewModel中声明this.chain(status)
,然后执行div#container
更改其内容。这些内容将成为var viewModel = {
appView: {
Html: ko.observableArray()
},
chain: ko.observable()
}
this.loadHtmlToPage = function(htmlblock) {
var contentPage = function(status) {
this.chain(status);
}
viewModel.appView.Html.push(new contentPage(htmlblock));
}
。
.step_input > .ing-tag_0
答案 1 :(得分:0)
ko.cleanNode($("#conteneur")[0]);
$("#conteneur").html('chaine');
ko.applyBindings(viewModel, $("#conteneur")[0]);