ale*_*ngn 16 javascript angularjs
我希望在我第一次启动AngularJS应用程序时或每次刷新页面时都有一个"全局函数".
此函数将调用我的服务器$http.get()
以获取使用我的应用程序所需的全局信息.我需要访问$rootScope
此功能.在此之后,只有在此请求完成后,我才使用app.config
并$routeProvider.when()
加载好的控制器.
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/',
{
/**/
});
}]);
Run Code Online (Sandbox Code Playgroud)
我不希望应用程序在此操作完成之前执行某些操作.所以我想我必须使用"解决方案",但我真的不知道如何使用它.
任何的想法?
谢谢!
Ken*_*nne 23
这不是解决您问题的最佳方法,但这是针对您的问题提出的解决方案.
内部的任何内容run(...)
都将在初始化时运行.
angular.module('fooApp').run(['$http', '$rootScope' function($http, $rootScope) {
$http.get(...).success(function(response) {
$rootScope.somedata = response;
});
$rootScope.globalFn = function() {
alert('This function is available in all scopes, and views');
}
}]);
Run Code Online (Sandbox Code Playgroud)
现在,您可以在所有视图中触发警报ng-click="globalFn()"
.
请注意,如果未明确继承,使用新隔离范围的指令将无法访问此数据: $scope.inheritedGlobalFn = $rootScope.globalFn
归档时间: |
|
查看次数: |
41691 次 |
最近记录: |