几个月前我开始与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:我必须把他们??
这里的解决方案是什么?为什么他在插入括号后没有工作? –