2016-04-01 9 views
1

Ich stehe vor einem Problem, während ich den Wert für die Eingabe in angular verbinde. Ich habe zuerst das 'object [component.name]' initialisiert und dann habe ich diesen Wert dem ng-Modell zugewiesen. Ich habe das so gemacht, weil ich den Wert von ng-repeat binden muss. Aber es gibt mir einen Fehler. Folgendes ist mein Code snippet.any Hilfe wird geschätzt.Wie bindet man dynamische Werte an Eingaben mit ng-repeat und 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> 

Hier ist der Fehler, die ich in der Konsole

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

Antwort

0

ng-show Richtlinie soll nicht {{}} (Interpolation-Richtlinie) in ihm. Sie können auf das Objekt createReportForm zugreifen, indem Sie das Objekt index verwenden.

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

Auch ng-init hat denselben Fehler ng-init="object[component.name] = component.name"

nicht sicher, warum Sie ng-init Richtlinie verwenden, sollte es vermieden werden.

+0

Der Fehler scheint in Eingabefeldbindung zu sein. Ich habe versucht, was Sie vorgeschlagen haben, aber immer noch den gleichen Fehler. –

+0

@pritamkale Fehler Stack-Trace deutlich darauf hinweist, dass der Fehler auf "Eingabe" Feld "ng-init" -Direktive passiert ist, versuchen Sie es wie oben beschrieben, schlug ich vor. Danke :) –

+0

@pritamkale hast du Fortschritte dabei gemacht? –