我需要在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'];
答案 0 :(得分:0)
myAPP.run(function ($rootScope, $state,$scope) {
此处不能将$scope
个对象作为第三个参数,因为$scope
和$controller
对象都是在compiling and linking phase
期间创建的,run
跟随run
执行$rootScope
块的阶段。所以你不能在你的跑步区里拥有它们。 run
块中只有run
可用,因为它是一项服务,scroll view
块中只提供服务。