2016-03-22 46 views
4

arasında olamaz. Başka bir denetleyiciye denetimi aktarmak için normal bir $ rootScope. $ Yayın kullanıyorum. Diğer denetleyici buna dayalı bir işlevi çağırmaya çalışıyor. Soru, $ kapsam fonksiyonu olarak adlandırılan bu işlev olabilir veya her zaman denetleyicide özel bir işlev olmalıdır. Bu yüzden aşağıdaki yazdığımda beklendiği gibi çalışır. Ancak, yazdığım zaman:

$scope.$on('aRequest',$scope.someFunction()); 

Çalışmıyor. Konsolda da bir sözdizimi hatası görmüyorum. Bir şey mi eksik?

gibi bu çağrı gibi yapıldığında aşağıda yanı çalıştığını eklemek için:

$scope.$on('aRequest',iWorkProperly); 
var iWorkProperly = function(){}; 

cevap

6

Sadece () olmadan $scope.$on('toggleNavRequest',$scope.someFunction); yazma - (Sen işleve başvuru geçiyoruz ve aslında tetiklemiyordur

$scope.someFunction = function() { 
    console.log("Hi"); 
}; 

$scope.$on('toggleNavRequest',$scope.someFunction); 
+0

bir birFonksiyon hatası tanımlanmamış alıyorum: işlev çağrısı)

Örnek tetikleyecek açısal. Bir plunkr almaya çalışacağım. Önerdiğin yolu denedim ve bir hata attığından bahsetmeyi unuttum. Ayrıca, sadece referansı geçersem, aynı şekilde geçmemesi gerektiği için bir hata atmaz. –

+1

@JyotirmoyPan Güncellenmiş yanıtıma bir göz atın –

+1

İzleme görevlerini tamamlamak için zıplamayı beklemeliydiniz. Benim hatam. Teşekkürler dostum. –

İlgili konular