當我單擊新博客主題的保存鏈接時,控制檯輸出爲主題對象的空值。當我單擊現有博客主題的保存鏈接時,輸出是主題對象的舊值。2路綁定不起作用
爲什麼在點擊保存鏈接時不會將值分配給屬性?
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>
編輯: 這裏是的jsfiddle: http://jsfiddle.net/jLkxG/3/
當你運行它,它會指定默認值。但是,如果編輯文本框並單擊savelink,它將輸出原始(初始)值,而不是在文本框中輸入的值。
你能張貼這個的jsfiddle?由於它不是viewmodel的屬性,我不能說出綁定中的topic()是指什麼。 – Tuan 2012-04-09 00:35:43