angularjs - 输入中的 Angular 值绑定(bind)到模型变量

标签 angularjs angularjs-ng-repeat angularjs-ng-include

我需要帮助来发现代码中的问题。 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/

相关文章:

javascript - 在 Angular js 中添加数字

javascript - AngularJS - ng-repeat 未显示

angularjs - 嵌套的 ng-repeat 拖放,AngularJS

javascript - Angular JS 中带有 Ng-Include 的未定义函数

javascript - 在其他域的 div 中包含一个 Angular 应用程序,没有 iframe

javascript - 使用 TypeScript 和 Angular $http 服务进行跨域请求

javascript - Controller 变量未在 html 中正确显示

javascript - 如何在 AngularJS 中隐藏 URL 中的选择性数据

javascript - ng-repeat 使用数组和对象

javascript - 为什么 ng-include 导致 $digest 迭代达到?