0
난 당신이 내가이 (가) menuholder 요소에만 바인딩 appliying하고 볼 수있는이다시
// 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"));
처럼 뭔가 인덱스 페이지와 관련된 뷰 모델이 3.4 같은 요소에 바인딩을 적용 할 수 없습니다 knockoutjs. 그것은이
//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"));
같은 자신의 뷰 모델의
$("#maincontent").load("pages/home.html");
home.html을 페이지가 가지고 있지만 런타임에 나는 를 얻을 :
지금 나는이와 함께 동적으로 maincontent 요소의 내용을로드 "동일한 요소에 바인딩을 여러 번 적용 할 수 없습니다." 오류.
무슨 일이 일어나고 있는지 알려주세요.
'#maincontainer'는 무엇입니까?
혼란스럽게 생각하지만 혼란 스럽지만 (고정) 약간의 복사/붙여 넣기 실수를 한 경우 maincontainer는 maincontent와 동일하며이 요소는 인덱스 페이지에 있으며 jQuery 아약스로 동적 내용 HTML 페이지를로드합니다. – user2475096
ko.applyBindings (homeVM, document.getElementById ("homepage")); 자식 페이지에 색인이 없기 때문에 바운드 본문은 색인 페이지가 아니라 동적으로로드 된 페이지에서 가져옵니다 – user2475096