Wie kann eine Anweisung eine Funktion von einem Controller mit einigen Parametern aufrufen?Aufruf einer Controller-Funktion aus der Direktive mit Parametern
Ich würde die Variable MyVar dem Geltungsbereich geben. $ Apply (attrs.whattodo);
HTML:
<div ng-app="component">
<div ng-controller="ctrl">
<span ng-repeat="i in myarray">
<span customattr whattodo="addVal">{{i}}</span>
</span>
</div>
-Controller JS:
function ctrl($scope) {
$scope.myarray = [1];
$scope.addVal = function (value) {
$scope.myarray.push(value);
}
}
Richtlinie JS:
angular.module('component', []).directive('customattr', function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var myVar = 5;
scope.$apply(attrs.whattodo);
}
};
});
Das funktioniert super danke. Eine letzte Sache: Das Beispiel, das ich gab, war ein dumy. Aber mit meinem "echten" Beispiel: der Wert ist eine Liste von Dicts, die ich mit ein wenig Eingabetext rendere. Wenn ich den leeren Bereich oder den von Ihnen angegebenen Bereich einfüge, werden alle meine Eingabefelder leer. Irgendeine Idee warum?Danke – JohnCastle
Ehrlich gesagt schwer vorstellbar, wäre es nicht kompliziert für Sie, Ihr reales Beispiel in Plunker zu bewegen? Danke – Maksym
Natürlich! Hier ist es: http://plnkr.co/edit/mu9DM1dEyZ36UqVvw0DM Setzen Sie den Geltungsbereich in der Direktive auf true und Sie werden "Toto" darin sehen. Oder – JohnCastle