我是angularjs的新手,当我正在探索ng-bind
时,我注意到它可以用作textarea
::
<input type="text" ng-model="review.start"/>
<textarea ng-bind="review.start"> </textarea>
因此,我在输入标签中写的文本也通过数据绑定反映在textarea
字段中。
但是ng-bind
无法使用input
代码。我认为ng-bind
不应该与用户输入一起使用。 Angular docs也没有对此有所了解。
那么,如果用户输入或其他东西,它是否仅用于textarea?
谢谢,
答案 0 :(得分:3)
以下是来自angularJs
的ngBind指令的代码和平scope.$watch(attr.ngBind, function ngBindWatchAction(value) {
element.textContent = value === undefined ? '' : value;
});
正如您所看到的,当它在属性 ngBind 中发现更改时,会将element.textContent
设置为更改后的值。
对于input
DOM textContent
属性未设置其值。使用 textarea 时,DOM与textContent
属性一起使用。
答案 1 :(得分:2)
ngBind
可以处理其内容可以替换为文本的任何元素。
根据Angular documentation:
ngBind属性告诉Angular替换文本内容 指定具有给定表达式值的HTML元素,以及 当表达式的值发生变化时更新文本内容。
包括:
<div>Text</div>
<textarea>Text</textarea>
<span>Text</span>
<h1>Text</h1>
etc...
不适用于:
<input />
<select></select> (requires <option> as children)
<ul></ul> (requires <li> as children)
etc...