2016-07-03 12 views
0

Ich möchte eine benutzerdefinierte Direktive erstellen, bei der es sich um ein Attribut handelt, das einen Attributwert erfordert, der ähnlich wie bei ng-repeat eine Liste von Elementen ist. Zum BeispielAngularJS: Wie erstelle ich eine benutzerdefinierte Direktive, die einen Parameter akzeptiert?

<div myDir="{{someList}}"></div> 

Wie wird das gemacht?

+0

siehe http://stackoverflow.com/questions/16546771/how-do-i-pass-multiple-attributes-into-an-angular-js-attribute-directive –

Antwort

0

Sie sollten es tun, wie diese

app.directive('myDir', function() { 
    return { 
     scope: { 
      'myDir' : '@', //'@' for evaluated value of the DOM attribute, 
          //'=' a parent scope property 
     }, 
     link: function (scope, element, attrs) { 
      scope.$watch('myDir', function (newVal) { 
       console.log('myDir', newVal); 
      }); 
     } 
    }; 
}); 

Nutzung für ausgewerteten Wert (mit '@')

<div my-dir="{{someList}}"></div> 

Nutzung für Immobilien von einem Rahmen (mit '=')

<div my-dir="someList"></div> 

zu verstehen, Unterschied zwischen '@' und '=' aussehen here