我有一个Angular表单,其中ng-repeat用于创建多个TD,每个TD元素都包含一个文本框,其值我想使用带参数的函数调用进行修改。我在数组中保存值,并希望从那里选择一个值并放入textbox元素。
<div ng-controller="MyController" ng-form id="myForm" name="myForm">
<table>
<tr>
<td ng-repeat="myObject in arrayOfObjects">
<input type="text" ng-???="{{ myFunctonCall(myObject.Property) }}" />
</td>
</tr>
</table>
</div>
是否有标准的ng指令,或者可以使用格式化程序,解析器来实现?
答案 0 :(得分:0)
as @Deblaton Jean-Philippe说你可以用ng-model
来阅读数据
<input type="text" ng-model="myinitialvalue" />
然后按照您想要的方式在控制器中处理它:
$scope.$watch('myinitialvalue' function(newval, oldval){
//newval is equal to value of myinitialvalue
//here we modify it and assign to myvar, here for example we just add 'abc' to it
$scope.myvar = newval + 'abc';
});
和角度模板语法{{myvar}},以便在textarea或其他地方显示该页面:
<textarea>{{myvar}}</textarea>
答案 1 :(得分:0)
您可以使用ng-init
初始化ng-repeat的每个子范围内的范围值。这些值不会与父控制器共享,其中定义了arrayOfObjects。
https://docs.angularjs.org/api/ng/directive/ngInit
(如文档中所述,不要使用太多的ngInit)
<div ng-controller="MyController" ng-form id="myForm" name="myForm">
<table>
<tr>
<td ng-repeat="object in arrayOfObjects">
<input type="text"
ng-init="value = myFunctionCall(object.Property);"
ng-model="value" />
</td>
</tr>
</table>
</div>