我有此代码:
<div ng-repeat="c in q.children | orderBy:[]">
<div ng-if="c.kind == 'text'">
<label>
{{c.value}}
<textarea ng-model="q.newResponse.value['{{c._id}}']"></textarea>
</label>
</div>
// ...
我要做的是在newReponse.value
上绑定属性,该属性是动态的,是c._id
值,所以类似:
newResponse.value.44PkfeoakfoAf5o3r3773oZS3a = 'foo bar baz';
这是不起作用的,我会收到此错误:
Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 22 of the expression [q.newResponse.value[{{c._id}}]] starting at [{c._id}}]].
http://errors.angularjs.org/1.6.1/$parse/syntax?p0=%7B&p1=invalid%20key&p2=22&p3=q.newResponse.value%5B%7B%7Bc._id%7D%7D%5D&p4=%7Bc._id%7D%7D%5D
at angular.js:68
at AST.throwError (angular.js:14893)
at AST.object (angular.js:14882)
这是可能的,正确的方法是什么?
没关系,这并不难 -
<div ng-if="c.kind == 'text'">
<label>
{{c.value}}
<textarea ng-model="q.newResponse.value[c._id]"></textarea>
</label>
</div>