幾個月前我開始與knockout一起工作,到目前爲止這是一條非常好的道路。今天當我在html中處理一些輸入時,我遇到了一個非常無聊的問題,這讓我花了一段時間才弄清楚。這裏是我的代碼:數據綁定:值 - 括號 - 可觀察
<div class="add-box" style="display:none;" id="new-user">
<textarea placeholder="Name" data-bind="value : name"></textarea>
</div>
<script>
function UserViewModel() {
var self = this;
self.name= ko.observable('');
}
$(document).ready(function() {
ko.applyBindings(new UserViewModel(), document.getElementById('new-user'));
})
</script>
此代碼工作正常,但我第一次做的是這樣的:
<textarea placeholder="Name" data-bind="value : name()"></textarea>
它們之間唯一的區別是括號()在的結束名稱屬性。由於這是一個可觀察的因素,我認爲括號對於進行雙向約束是必要的。但對他們來說,每當我改變textarea的值時,viewmodel都不會相應地更新,如果我刪除所有的東西的話。
你能解釋一下爲什麼在這種情況下,我不得不刪除括號,爲什麼在其他場景中,就像我使用的數據綁定=「TEXT:我必須把他們??
這裏的解決方案是什麼?爲什麼他在插入括號後沒有工作? –