我有一个对象数组。我在输入字段中显示了名称。现在,我要单击按钮后更新的对象(无论用户填写输入字段如何)
例如,如果我在输入字段中输入“ abcde”和“ pq” ,则应在单击按钮时显示更新对象
[
{
name:'abcde’
},
{
name:'pq'
}
];
http://plnkr.co/edit/51BlTe5tAEgMV7ZlJLKV
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.c = [
{
name:'abc'
},
{
name:'pqr'
}
];
$scope.onclick =function(){
alert('dd')
console.log($scope.c)
}
});
答案 0 :(得分:2)
在模板中使用ng-model
<li ng-repeat="x in c">
<input type="text" ng-model='x.name' value="{{x.name==='abc'?'ddd':'hhh'}}"/>
</li>
如果您需要在单击按钮时更新$scope.c
,请在其他作用域变量上使用ng-model
并将其分配给$scope.c
中的onclick
更新:
还要注意ng-model不依赖于value
,因此x.name==='abc'?'ddd':'hhh'
应该在onclick
或ng-change
事件处理程序中完成
答案 1 :(得分:0)
您也可以尝试一下。
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path path="Android/data/com.your.package/" name="files_root"/>
<external-path name="external_files" path="."/>
</paths>
在您的控制器中,您可以有2个不同的json,一个用于显示,另一个用于实际值。因此也可以有条件地显示“ hhhh”和“ dddd”。
<li ng-repeat="x in displayValue">
<input type="text" ng-model='x.name' ng-change='valueChanged(x.name,$index)'/>
</li>