0
Durandal을 사용하여 관찰 가능한 플러그인을 사용하여 ES5 getter 및 setters를 사용할 수 있습니다. 여기 Durandal 위젯이 상위 뷰 모델의 값을 업데이트하지 않습니다.
위젯의 viewmodel.js입니다 :define([], function() {
var ctor = function() {
this.activate = function (settings) {
this.value = settings.value;
}
};
return ctor;
});
을 그리고 여기 위젯의 view.html입니다 :
<span>
This textbox is in the widget:
<br />
<input type="text" data-bind="value: value" />
</span>
나는 값을 사용하고 텍스트 상자에 결합하는 간단한 위젯을 만든
위젯을 사용할 때 값이 ko.observable로 전달되면 모든 것이 예상대로 작동합니다. 그러나 관찰 가능한 플러그인에서 제공하는 ES5 getter/setter 메서드를 사용하면 위젯의 값을 수정해도 상위 뷰 모델이 업데이트되지 않습니다. 부모 뷰의 값을 수정하면 비록 위젯을 업데이트 않습니다
<section>
<h1>Widget Test</h1>
This textbox is not in the widget:
<br />
<input type="text" data-bind="value: value" />
<br /><br />
<div data-bind="widget: { kind: 'testWidget', value: value }"></div>
</section>
내가 부모보기로 다시 밀려에서 값을 방해하는 그 뭔가를 잘못하고있는 중이 야 : 여기
define(['durandal/app', 'knockout'], function (app, ko) {
var ctor = function() {
this.value = ko.observable('Test'); // This works as expected
this.value = 'Test'; // This does not work
};
return ctor;
});
부모 뷰의 모델?