簡體   English   中英

從運行塊我可以在另一個控制器而不是$ rootscope內調用角度范圍函數

[英]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是一項服務,因此只有$rootScoperun塊中可用,並且只有服務在run塊中可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM