我使用以下代码将用户名('pqr')值存储在根范围内,但它是由$http.get mehtod限定范围的。
angular.module('myApp').run(function ($rootScope,$http) {
$rootScope.username = 'abc';
$http.get('/api/getuser')
.success(function(data) {
console.log("logged in user is: "+data);
$rootScope.username = data;
});
$rootScope.$on('$routeChangeStart', function (event, next) {
});
console.log("logged in user after setting: " + $rootScope.username);
});控制台日志输出如下:
logged in user is: pqr
logged in user after setting: abc如何将$rootScope.username设置为超出$http.get方法范围的pqr
编辑:增加了结束括号。
发布于 2014-04-18 13:29:52
应该关闭,因为这是一个异步问题.运行此代码,您将看到。
angular.module('myApp').run(function ($rootScope,$http) {
$rootScope.username = 'abc';
var $promise = $http.get('/api/getuser')
.success(function(data) {
console.log("logged in user is: "+data);
$rootScope.username = data;
});
$rootScope.$on('$routeChangeStart', function (event, next) {
});
$promise.then(function(){
console.log("logged in user after setting: "+$rootScope.username);
});https://stackoverflow.com/questions/23155121
复制相似问题