2016-04-01 7 views
1

angleでinputに値をバインドする際に問題が発生しました。まずobject [component.name]を初期化してから、その値をng-modelに割り当てました。私はng-repeat.butから値をバインドしなければならないので、このようにしていますが、エラーが出ます。以下は私のコードスニペットです。何かが助けになるでしょう。ここで ng-repeatとng-modelを使用して動的値を入力にバインドする方法はありますか?

<div ng-repeat="component in reportTemplate" class="inputFieldSection inputFieldTitle" ng-if="component.type == 'text'"> 
          <label class="item item-input"> 
          <input type="text" name={{component.name}} ng-init="object[component.name]={{component.name}}" ng-model="object[component.name]" ng-focus="clearValidation();" max-length="50" required placeholder="{{component.label}}"> 
          </label> 
          <p ng-show="createReportForm.{{component.name}}.$error.required">Please Enter {{component.name}}</p> 
        </div> 

はそれで私がコンソールに取得エラー

ionic.bundle.js:25510 Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 25 of the expression [object[component.name]={{component.name}}] starting at [{component.name}}]. 
http://errors.angularjs.org/1.4.3/$parse/syntax?p0=%7B&p1=invalid%20key&p2=…Bcomponent.name%5D%3D%7B%7Bcomponent.name%7D%7D&p4=%7Bcomponent.name%7D%7D 
at http://localhost:8100/lib/ionic/js/ionic.bundle.js:13248:12 
at Object.AST.throwError (http://localhost:8100/lib/ionic/js/ionic.bundle.js:26061:11) 
at Object.AST.object (http://localhost:8100/lib/ionic/js/ionic.bundle.js:26048:16) 
at Object.AST.primary (http://localhost:8100/lib/ionic/js/ionic.bundle.js:25956:22) 
at Object.AST.unary (http://localhost:8100/lib/ionic/js/ionic.bundle.js:25944:19) 
at Object.AST.multiplicative (http://localhost:8100/lib/ionic/js/ionic.bundle.js:25931:21) 
at Object.AST.additive (http://localhost:8100/lib/ionic/js/ionic.bundle.js:25922:21) 
at Object.AST.relational (http://localhost:8100/lib/ionic/js/ionic.bundle.js:25913:21) 
at Object.AST.equality (http://localhost:8100/lib/ionic/js/ionic.bundle.js:25904:21) 
at Object.AST.logicalAND (http://localhost:8100/lib/ionic/js/ionic.bundle.js:25896:21) <input type="text" name="{{component.name}}" ng-init="object[component.name]={{component.name}}" ng-model="object[component.name]" ng-focus="clearValidation();" max-length="50" required="" placeholder="{{component.label}}" class="ng-pristine ng-untouched ng-valid"> 

答えて

0

ng-showディレクティブは{{}}(補間ディレクティブ)を持つべきではないです。オブジェクトindexを使用してcreateReportFormオブジェクトにアクセスできます。

また
ng-show="createReportForm[component.name].$error.required" 

ng-initng-init="object[component.name] = component.name"

ないあなたがng-initディレクティブを使用している理由、それは避けるべきであることを確認同じ間違いを持っ​​ています。

+0

入力フィールドのバインディングにエラーがあるようです。私はあなたが提案したことを試しましたが、同じエラーがまだあります。 –

+0

@pritamkaleエラースタックトレースは、 'input'フィールド' ng-init'ディレクティブでエラーが発生したことを明確に示していますので、上記のように変更してみてください。ありがとう:) –

+0

@pritamkaleこれで進歩を遂げることができましたか? –