我需要帮助来发现代码中的问题。 Angular.js 正在将输入值与 ng-model 绑定(bind)在一起,这不是我想要的。 我有一个带有 ng-include 的 Angular 中继器,如下所示:
<div ng-repeat='item in items'>
<label>{{item.number}}</label>
<div ng-include='item.template'></div>
</div>
包含的项目模板是一个简单的输入字段,基于 item.template。对我来说有问题的标签是 <textarea> 和 <input>。
即我包括这个:
<input type="text" ng-model="item.number" />
该项目看起来像:
{
number: 1
, template: 'text'
, text: 'Some text'
, value: 'Some value'
}
所以当上面的东西渲染时,我得到
<input type="text" ng-model="item.number" class="ng-scope ng-pristine ng-valid">
但问题是,在我的输入字段中,我将商品编号作为值,如果我更改该值,我的标签也会更改。即使我输入了 value="" 或 placeholder="blah",我仍然会遇到这种行为。
我还没有做到这一点,但我想模型也用数字进行了更新。
我在那里做错了什么?
最佳答案
当使用 ng-model
时,Angular 在模型和输入元素之间创建两种方式的绑定(bind)。对模型的任何更改都会更新输入元素(所有绑定(bind)的默认行为),并且 UI 输入元素中所做的任何更改都会更新模型。
要摆脱这种行为,您可以
<input type="text" value='{{item.number}}' class="ng-scope ng-pristine ng-valid">
关于angularjs - 输入中的 Angular 值绑定(bind)到模型变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17025068/