[英]Can I call $rootScope.$emit inside a $rootScope.$on function?
[英]From run block can i able to call angular scope function inside another controller instead of $rootscope
我需要從runblock的某些控制器中調用angular Scope函數。 我可以調用該函數,還是需要使用rootScope或$ scope.apply。
第一種方法:
myAPP.run(function ($rootScope, $state,$scope) {
$scope.menupage();
});
var SampleController = function ($scope,$localStorage) {
$scope.menupage =function()
{
// some logic
};
});
SampleController.$inject = ['$scope','$localStorage'];
其他需要這樣使用
myAPP.run(function ($rootScope, $state,$scope) {
$scope.$apply(function() {
$scope.menupage();
});
});
var SampleController = function ($scope,$localStorage) {
$scope.menupage =function()
{
// some logic
};
});
SampleController.$inject = ['$scope','$localStorage'];
myAPP.run(function ($rootScope, $state,$scope) {
這里不能將$scope
對象作為第三個參數,因為$scope
和$controller
對象都是在compiling and linking phase
創建的,該階段在run
階段執行之后,在run
階段執行run
塊。 因此,您不能在運行塊中包含它們。 由於$rootScope
是一項服務,因此只有$rootScope
在run
塊中可用,並且只有服務在run
塊中可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.