【发布时间】:2017-08-18 04:36:53
【问题描述】:
我有几个 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>
【问题讨论】:
-
你不应该使用 jQuery 来操作 DOM。您应该为链分配新值,它包含将出现在
div#container中的 html。你对chain所做的事情对我来说没有意义,我不明白appView.Html应该如何融入该计划。 -
这是因为我的应用程序中只需要一个modelView,并且我用dataView、securityView、appView等子对象包装它们。它工作得很好,但我无法通过 html 绑定来解决......
-
您希望在 HTML 中使用 Knockout 绑定吗?
标签: javascript knockout.js data-binding