Angular 1.3 - Angular 1.5 bileşenleri ve ES6 denetleyicilerinden geçiş kodunun ortasındayım. Burada bir şey bulmaya çalıştım ama yeterince yararlı değil. Aşağıda belirtilen yoldan başka olaylarla ilgili olayların nasıl izlenmesi gerektiğine dair önerilerde bulunulmuştur. Veya kapsam olaylarını direktiften nasıl tetikleyebiliriz. Ayrıca, bir alternatif varsa, lütfen doğru yolu öneriniz.Angular 1.5 bileşeninde kapsam olayları nasıl dinlenir?
Eğik 1,3
angular
.module('test')
.directive('test', function() {
return {
link: function(scope) {
scope.$on('$stateChangeStart', function(event, toState, toParams) {
//logic goes here..
});
}
}
});
Açısal 1.5/ES6
class TestController {
/* @ngInject */
constructor($scope) {
this._$scope = $scope;
}
$onInit() {
this._$scope.$on('$stateChangeStart', (event, toState, toParams) => {
//logic goes here
});
}
}
angular
.module('test')
.component('test', {
controller: TestController
});
Düzenleme:
üzerine $ ve $ burada izlemek için alternatif ilgileniyor$, neden onChange $ saatini yerini alabilir sadece değişkenleri izlerken. Kapsam olaylarını dinlemek istiyorum, açısal 1.3 kodun% 100'ü 1.5'e taşınamadığından, hala kapsamdaki olayları tetikleyen direktiflerim var!
Olası kopyası [AngularJs 1.5 - Bileşen Gözlemcileri desteklemiyor, etrafındaki çalışma nedir?] (Http://stackoverflow.com/questions/35534479/angularjs-1-5-component-does-not-support- watchers-what-is-the-work-around) – georgeawg
@georgeawg $ on $ için bir alternatif ile ilgileniyorum, burada $ izlemek değil, $ değişkenleri izlediğinizde $ onChange $ yerine neden olabilir. Kapsam olaylarını dinlemek istiyorum, açısal 1.3 kodun% 100'ü 1.5'e taşınamadığından, hala kapsamdaki olayları tetikleyen direktiflerim var! –
Kapsamdaki olayları tetiklemenin alternatifi, olayları bileşenden ana bilgisayara iletmek için İfade Bağlamasının kullanılmasıdır. Ve olayları ebeveynle alt öğeden diğerine iletmek için tek yönlü bağlamayı kullanın. – georgeawg