AngularJS添加表示数组模型的输入
AngularJS adding inputs that represent an array model
我无法理解的简单AngularJS问题。
Plunkr:http://plnkr.co/edit/OjaooVOQBEETkhaZFbWG?p=preview
HTML;
<div ng-repeat="label in likedLabels">
<input ng-model="likedLabels[$index]">
</div>
{{likedLabels}}
<button ng-click="addInput()">+add more inputs</button>
JS:
$scope.likedLabels = ['']
$scope.addInput = function(){
$scope.likedLabels.push('');
}
我基本上是在尝试创建一种用户操作的方式来添加输入框,并将其中的内容链接到模型。我在这里做错了什么?
在数组中使用对象而不是基元。像ng-repeat
这样的指令为数组中的每个重复项创建单独的子作用域。
由于原型继承,对象将作为原始对象的引用传递给子作用域,而基元(字符串、布尔值等)则不会。因此,在范围树中没有基元的数据绑定
HTML
<div ng-repeat="item in likedLabels">
<input ng-model="item.label">
</div>
JS-
$scope.likedLabels = []
$scope.addInput = function() {
$scope.likedLabels.push({label: ''});
}
DEMO
相关文章:
- 将输入值设置为ng模型属性[Angular]时出现问题
- 如何为动态创建的文本区域中输入的值更新ng模型
- 即使 ng 模型有值,也使输入字段为空
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 删除ng模型中的ng模型输入值
- Cakephp 访问不在模型数据数组上的输入
- 在 ng 模型中具有单向绑定的两个输入
- 使用输入更新 ng 模型数据
- AngularJS输入ng模型未更新
- 角度 2 使用指令防止输入和模型更改
- 输入文本是't在一种情况下以相同的形式更新与另一种情况相同的角度模型
- AngularJS绑定模型以选择更新输入数字字段,最小值为最大值
- AngularJS,如何将多个输入组合到一个ng模型中?具体来说,将日期、时间和时区输入组合到日期时间对象中
- 控制器内部无法访问Angular js输入模型
- ng模型在角度1.3中输入类型数的投掷误差
- 输入模型的Vuejs v-if条件
- 更改时,输入模型将从Integer更改为String
- 根据输入模型筛选列表,然后在Angular中进行选择
- 角度输入模型有条件地从一个属性读取,写入另一个属性
- 将输入模型绑定到数组中的每个对象