首次调用getDatas.docData();表格tabcontroller我能够提醒 电子邮件,但在第二次调用getData.getDocData();它显示为未定义。
var app = angular.module("myapp", []);
app.controller("tabController", ['$scope','getDatas','$rootScope', function($scope,getDatas,$rootScope) {
$scope.getDocData=function(){
getDatas.docData();
getDatas.getDocData();
}
}]);
app.factory("getDatas",['$http',function($http){
var docDatas = {content:null};
return{
docData:function(){
$http({
method: 'GET',
url: '/doctor/getDocData'
}).then(function(response) {
docDatas=response.data;
//alert(docDatas.name);
})
},
getDocData:function(){
alert(docDatas.name);
}
}
}]);
我有什么不对的帮助。三江源。
答案 0 :(得分:0)
js不等待处理此行,然后处理下一行,因为 js是异步你应该在你的工厂使用$ q,在你的代码中可能是这段代码" getDatas.getDocData(); "比" getDatas.docData(); "最后js找不到 docDatas.name 并返回undefind, 祝你好运......