KnockoutJS,文本与值绑定.为什么文本绑定不绑定到输入字段

KnockoutJS, Text vs Value Binding. Why Text Binding Doesn't Bind to an Input Field?

本文关键字:绑定 文本 输入 字段 KnockoutJS 为什么      更新时间:2023-09-26

来自淘汰赛教程:

为什么会这样?

 <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";
}

因为在 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>