我有一个angularjs数据工厂,它进行服务器调用并在工厂返回的对象中设置返回的数据,如下所示
angular.module('app').factory('DataService', function() {
// Returning object
return {
data: {},
isLoaded: false,
getData:getdata
};
function getData() {
var self = this;
//Some Ajax Call returns an 'dataObject'
self.data = dataObject; //dataObject has a few subObjects and list
}
});
现在在我的angularjs控制器中,我调用DataService.getData()进行ajax调用,从而在factoryobject' data'
中设置返回的dataObject我在控制器中声明了这个
appV.data = DataService.data;
如果我尝试在控制台上打印它或像这样访问 console.log(appVm.data),我能够访问它,但如果我尝试访问任何子对象,如Ex - appVm.data.property1或appVm.data.subObject1.subObject1.property,它会给出undefined。
有人可以解释为什么会出现这种情况吗?
先谢谢
答案 0 :(得分:0)
这只是一个例子:
app.factory("messageService", function($q){
return {
getMessage: function(){
return $q.when("Hello World!");
}
};
});
现在是解决方案中将使用该服务的路由配置。
$routeProvider
.when("/news", {
templateUrl: "newsView.html",
controller: "newsController",
resolve: {
message: function(messageService){
return messageService.getMessage();
}
}
})
这些链接可以帮助您: