KnockoutJS,Text vs Value Binding。为什么文本绑定不绑定到输入字段?

时间:2013-10-18 14:13:17

标签: javascript asp.net-mvc knockout.js

来自Knockout教程:

为什么会这样?

 <p>First name: <input data-bind="value: firstName" /></p>

虽然这不是吗?

 <p>First name: <input data-bind="text: firstName" /></p>

视图模型

// This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI
 function AppViewModel() {
this.firstName = "Bert";
this.lastName = "Bertington";
}

1 个答案:

答案 0 :(得分:12)

因为在html中,'input type =“text”'中的键入文本存储在名为value的属性中。

值绑定会影响元素的value属性,文本绑定会改变元素的内部文本。

写作

<input data-bind="text: firstName" />

您正在尝试更改输入元素的内容。输入不允许内容。

<input value="where the value binding writes its data">
    where the text binding writes its data
</input>