2016-05-05 7 views
1

In meinem Winkel `Controller befindet sich ein Objektunabhängige Expression Auswertung in Winkel

var button1 = { 
       onClick : resetFn, 
       elementText : "Reset", 
       extradata : "name = \"hello\"" 
      }; 

In meinem html habe ich so etwas wie

<button {{button1.extradata}} type="button" ng-click="footer.onClick()">{{button1.elementText}}</button> 

button1.elementText korrekt ausgewertet zu werden, aber button1.extradata wird nicht ausgewertet immer an alle. Warum ist es ??

bearbeiten Ich möchte diese extradata zu meinem Element flexibler machen. Es kann eine beliebige Zeichenfolge enthalten.

Antwort

0

versuchen so etwas wie dieses

$scope.button1 = { 
        onClick : resetFn, 
        elementText : "Reset", 
        extradata : "hello" 
       }; 

<button name="{{button1.extradata}}" type="button" ng-click="footer.onClick()">{{button1.elementText}}</button> 
+0

Ich möchte diese Extradata, um mein Element flexibel zu machen. Es kann eine beliebige Zeichenfolge enthalten. Entschuldigung, ich habe diese Info vor –

+0

verpasst, dann können Sie das $ sce.trustAsHtml (button1) versuchen. Dies wird Extradata in HTML-Tag rendern. in der HTML-Taste innen Tag verwenden ng-bind-html = "button1.extradata". Bitte injizieren Sie die $ sce –

+0

können Sie Ihre Antwort aktualisieren pls. –

1

Hat der button1.extradata repräsentieren immer den Wert des Attributs name im Tag button ..?

Wenn ja, als Sie so etwas wie dieses

$scope.button1 = { 
        onClick : resetFn, 
        elementText : "Reset", 
        extradata : "hello" 
}; 

<button name="{{button1.extradata}}" type="button" ng-click="footer.onClick()">{{button1.elementText}}</button> 
+0

Ich möchte diese Extradata, um mein Element flexibel zu machen. Es kann irgendeine Schnur enthalten. Sorry, dass ich diese Info vor –

1

Working Plnkr

HTML tun sollten:

<button name="{{button1.extradata}}" type="button" ng-click="footer.onClick()">{{button1.elementText}}</button> 

JavaScript:

$scope.button1 = { 
       onClick : "resetFn", 
       elementText : "Reset", 
       extradata : "hello" 
      }; 

Ihr Code hat mehrere Syntaxfehler:

  1. var button1 sollte durch $scope.button1 ersetzt werden.
  2. nClick : resetFn sollte durch nClick : "resetFn" ersetzt werden.
  3. {{button1.extradata}} Attribut innerhalb button Element sollte ersetzt werden mit .
+0

verpasste, möchte ich diese Extradata, um mein Element flexibel zu machen. Es kann eine beliebige Zeichenfolge enthalten. Sorry ich verpasste diese Info vor –

+0

Das ist nicht, wie angular Ausdruck arbeiten. Sie können sich [AngularJS-Ausdruck] (https://docs.angularjs.org/guide/expression) ansehen. –