Meine Anforderung ist die Child-Direktive-Funktion von Parent-Direktive aufrufen. Momentan haben wir ein Publish-Subscribe-Muster implementiert. Child-Direktive subscribe für irgendein Ereignis und wir setzen einen Trigger für die Eltern-Direktive. publish subscribe wird durch $ .callbacks implementierteckige Zwei-Wege-Funktion verbindlich Best Practice
Andere Möglichkeiten, wie dies getan werden kann, ist Broadcast. Oder eine Kind-Direktive überwacht eine Variable und wir können diese Variable in Parent ändern.
Wir haben Broadcast nicht verwendet, weil die Eltern-Direktive viele untergeordnete Ereignisse enthält und wir nicht möchten, dass sie alle durchlaufen.
Es gibt eine andere Art und Weise wir umsetzen können dies mit Zweiweg Funktion Bindung
directives.directive('twoWayBind', function() {
return {
restrict: "E",
transclude: true,
templateUrl: 'app/twoWayBindFunction.html',
scope: {
twoWayBinding: '='
},
controller: 'twoWayBindFunctionController',
bindAsController: true,
controllerAs: 'vm',
link: function (scope, element, attrs, controller) {
}
};
});
controllers.controller('twoWayBindFunctionController', ['$scope', function (scope) {
var vm = this;
vm.scope = scope;
scope.twoWayBinding = function() {
console.log('twoway bind');
}
}]);
wir twoWayBinding Funktion von übergeordneten Bereich aufrufen können.
Ich würde gerne verstehen, was die beste Praxis ist.