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) showbu 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, popdownyö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? .notifiyyöntem, yani
popdownYö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ı?