AngularJS 最新的候选版本:
我正在从模块的 run 函数中将一个名为 say stuff的 javascript 对象放入 $rootScope 中,我认为它应该被阻止。这是代码:
'use strict';
/* App Module */
var app = angular.module('MyApp', ['ngRoute', 'API'])
.run(function ($rootScope, API) {
$rootScope.stuff = null;
// call the API
API.getStuff()
.success(function(data){
$rootScope.stuff = data;
})
.error(function(data){
$rootScope.stuff = null;
});
});
现在,当我尝试从控制器访问 $rootScope 的stuff属性时,我在stuff上收到“未定义或空引用”错误。代码如下所示:
'use strict';
app.controller('indexController',
function ($scope, $rootScope, otherAPI) {
var
stuff = $rootScope.stuff;
// call the other API
otherAPI.getDifferentStuff(stuff.property)
.success(function(data){
$scope.differentStuff = data;
})
.error(function(data){
// do some error handling stuff here
});
});
我知道 run 函数中的 api 调用是成功的,它正在为 $rootScope 中的东西分配一个值。任何人都可以在这里看到我的代码有什么明显的问题吗?
谢谢你的帮助!
富有的