새 블로그 항목의 저장 링크를 클릭하면 콘솔 출력이 항목 개체의 빈 값이됩니다. 기존 블로그 주제에 대한 저장 링크를 누르면 출력은 주제 객체에 대한 이전 값입니다.양방향 바인딩이 작동하지 않습니다.
저장 링크를 클릭 할 때 값에 속성이 할당되지 않는 이유는 무엇입니까?
var viewModel = function(topics){
var self = this;
self.topics = ko.observableArray(topics);
self.editing_topic = ko.observable("");
self.new_topic = function(){
self.edit_topic({});
}
self.edit_topic = function(topic){
self.editing_topic(topic);
form.dialog({width:800, height:600, modal:true});
};
self.save_topic = function(){
console.log(self.topic());
};
};
ko.applyBindings(new viewModel(jsondata));
<fieldset class="blog_topic_form" title="New Blog Entry">
<div>
<label for="topic_title">
Title:
</label>
<input type="text" id="topic_title" data-bind="value: topic().topic_title"/>
</div>
<div>
<label for="message_contents">
Message:
</label>
<textarea id="message_contents" class="message_contents" data-bind="value: topic().message_contents"/>
</div>
<footer>
<a class="save_link" data-bind="click: save_topic"></a>
<a class="cancel_link"></a>
</footer>
</fieldset>
편집
: 당신이 그것을 실행하면 http://jsfiddle.net/jLkxG/3/, 그것은 기본 값을 할당합니다 : 여기 는 jsfiddle입니다. 그러나 텍스트 상자를 편집하고 savelink를 클릭하면 텍스트 상자에 입력 된 값 대신 원래 (초기) 값이 출력됩니다.
당신이 이것에 대한 jsfiddle을 게시 할 수 :
나는 제대로 작동하도록 jsfiddle 업데이트되었습니다? 귀하의 바인딩에있는 topic()이 viewModel의 속성이 아니기 때문에이 항목이 무엇을 의미하는지 말할 수 없습니다. – Tuan