0
有一个索引页,这样knockoutjs 3.4不能申请绑定到相同的元素,我再次
// html
<div class="collapse navbar-collapse js-navbar-collapse" id="menuholder">
<ul foreachbinding>
<li binding>
</ul>
</div>
<div id="maincontent">
</div>
// javascript
var VM = function() {
var self = this;
self.menuitems = ko.observableArray([]);
self.loadmenu = function() {
jQuery.ajax({
url: "/Home/GetMainMenu",
success: function (html) {
self.menuitems = html.menus
},
async: false
});
}
self.loadmenu();
};
ko.applyBindings(VM, document.getElementById("menuholder"));
相关的东西,你能看到我的appliying只有绑定到menuholder元素的视图模型。
现在我这个动态加载搜索Maincontent元素的内容:
$("#maincontent").load("pages/home.html");
的home.html的页面有是这样的
//html
<body id="homepage">
</body>
//javascript
var homeVM = function() {
var self = this;
self.topventes = ko.observableArray([]);
self.promos = ko.observableArray([]);
self.arrivage = ko.observableArray([]);
self.nouveaute = ko.observableArray([]);
self.loadcontent = function() {
jQuery.ajax({
url: "/Home/GetHomePageContent",
success: function (html) {
self.topventes = html.topventes;
self.arrivage = html.arrivage;
self.nouveaute = html.nouveaute;
self.promos = html.promo;
},
async: false
});
}
self.loadcontent();
};
ko.applyBindings(homeVM, document.getElementById("homepage"));
自己的视图模型,但在运行时我得到“不能将绑定多次应用于同一元素”错误。
有什么想法是怎么回事?
什么是'#maincontainer',是
对不起,我已经做了一个复制/粘贴错误(固定),maincontainer是一样的maincontent,这个元素是在索引页面中,我加载动态内容html页面与jquery ajax中。 – user2475096
ko.applyBindings(homeVM,document.getElementById(“homepage”));在子页面不在索引中,所以绑定的主体不是索引页面,而是来自动态加载的页面 – user2475096