0
나는 그 문제를 해결하기 위해 많은 시간을 보냈다. 같은 요소에 두 바인딩을 어떻게 할 수 있습니까?여러 번 바인딩 문제
HTML :
<div data-bind="with: model">
<span data-bind="text: name"></span>
</div>
<button data-bind="click: changeModel">Change Model</button>
자바 스크립트 :
$(window).load(function(){
var model = {
name: 'John'
};
var viewModel = new ViewModel(model);
ko.applyBindings(viewModel);
});
var ViewModel = function(model) {
var self = this;
var nestedViewModel = new NestedViewModel(model);
self.model = ko.observable(nestedViewModel);
self.changeModel = function(){
var model = {
name: 'Max'
};
var nestedViewModel = new NestedViewModel(model);
self.model(nestedViewModel);
};
};
var NestedViewModel = function(model) {
var self = this;
self.name = model.name;
};
이 당신이 중첩 된 객체를 사용하여 동일한 요소 모델을 변경할 수 있습니다
var app: any = new App();
app.links.push({
action:() => {
$.ajax({
type: 'POST',
url: url
}).done(data => {
require(['App/App'], App=> {
console.log("App Filse Loaded");
this.app = new App();
ko.applyBindings(this.app);// Error "You cannot apply
// bindings multiple times
// to the same element"
this.app.isLoaded(true);
this.app.isReady(true);
});
})
},
label : 'Create Subscription',
});
ko.applyBindings(app);
});
바인딩의 요점은 한 번에 바인딩 한 후 업데이트를하는 것입니다. 왜 바인딩 두 번? –
여러 개의 바인딩을 가질 수 있지만 바인딩을 한 번만 적용합니다. – 4imble
내가 필요로하는 것은 요소의 바인딩을 어떻게 든 지우는 것입니다. –