Kendi denetleyicisi olan bir yönergem var. Aşağıdaki koda bakın:
var popdown = angular.module('xModules',[]);
popdown.directive('popdown', function () {
var PopdownController = function ($scope) {
this.scope = $scope;
}
PopdownController.prototype = {
show:function (message, type) {
this.scope.message = message;
this.scope.type = type;
},
hide:function () {
this.scope.message = '';
this.scope.type = '';
}
}
var linkFn = function (scope, lElement, attrs, controller) {
};
return {
controller: PopdownController,
link: linkFn,
replace: true,
templateUrl: './partials/modules/popdown.html'
}
});
Bu, hatalar / bildirimler / uyarılar için bir bildirim sistemi anlamına gelir. Yapmak istediğim şey, başka bir denetleyiciden (bir yönerge değil) show
bu denetleyicideki işlevi çağırmaktır . Ve bunu yaptığımda, bağlantı işlevimin bazı özelliklerin değiştiğini algılamasını ve bazı animasyonları gerçekleştirmesini de isterim.
İşte istediğim şeyi örneklemek için bazı kodlar:
var app = angular.module('app', ['RestService']);
app.controller('IndexController', function($scope, RestService) {
var result = RestService.query();
if(result.error) {
popdown.notify(error.message, 'error');
}
});
Dolayısıyla show
, popdown
yönerge denetleyicisini çağırırken , bağlantı işlevi de tetiklenmeli ve bir animasyon gerçekleştirmelidir. Bunu nasıl başarabilirim?
popdown.show(...)
yerine yazmak istedin, popdown.notify(...)
doğru mu? Aksi takdirde bildirim işlevi biraz kafa karıştırıcıdır.
popdown.notify
? .notifiy
yöntem, yani
popdown
Yönerge çağrısını sayfadaki nereye yerleştiriyorsunuz - diğer denetleyicilerin hepsinin ona erişmesi gereken tek bir yerde mi yoksa farklı yerlerde birkaç açılır pencere var mı?