2017-03-08 67 views
0

我有这样的代码:NG-模型 - 绑定动态字段对象

<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) 

有没有人知道这是否可能,以及正确的方法是什么?感谢

回答

0

没关系,这不是那么难 -

 <div ng-if="c.kind == 'text'"> 
     <label> 
      {{c.value}} 
      <textarea ng-model="q.newResponse.value[c._id]"></textarea> 
     </label> 
     </div>