Hallo,
ich habe eine Angular directive geschrieben und will in der direcitive eine FUnktion auf meinem Controller aufrufen.
Nur leider funktioniert das nicht, ich habe mal ein console.log in der zu callenden Funktion geschrieben und die Funktion wird nur beim rendern der directive aufgerufen.
Mein Controller:
module.controller("MeinController", [
function(/*dependencies*/){
/*
...
*/
self.isBreakEnabled = function(dayName){
console.log("isBreakEnabled", dayName);
if( !self.settings.reservationTimes ){
return false;
}
var day = self.settings.reservationTimes[dayName];
return day && day.hasBreak;
}
}]);
Directive Definition:
directives.directive("resTimeRow", function(){
return {
restrict: "A",
templateUrl: "/partials/tr-res-time-row.html",
scope: {
dayName: "@dayName",
dayNameShort: "@dayNameShort",
dayModel: "=day",
openingOptions: "=openingOptions",
breakOptions: "=breakOptions",
isBreakEnabled: "&isBreakEnabled"
},
link: function(scope, element, attrs){
}
};
});
Und der directive Code:
[HTML]
Wenn ich jetzt die Ceckbox anklick die in dem Controller für den Tag hasBreak auf true setzt, sind die select Felder mit der ng-disabled Expression immer noch disabled.
Die Funktion isBreakEnabled in meinem Controller wird also nicht aufgerufen.
Wie kann ich also diese Funkion von meiner Directive aufrufen?