Hai我是Angularjs的新人。我试图从JSON文件中读取数据,但它返回一个奇怪的输出。 这是我的controller.js文件
angular
.module('app')
.controller('homeCtrl',function($scope,Friend){
$scope.friends=Friend.get();
console.log("DATA FROM JSON:",$scope.friends);
$scope.title="Home";
})
这是我的services.js文件
angular
.module('app')
.factory('Friend',function($http){
return {
get:function(){
console.log("inside function");
return [
$http.get('/api/get.json').then(function(msg){
return msg.data;
})
]
}
}
})
控制台输出
DATA FROM JSON:
[Object]
0: Object
length: 1
__proto__: Array[0
请帮忙。
答案 0 :(得分:6)
$ http.get 会返回一个承诺,并且您将返回一个包含该承诺的数组。
请改为:
angular
.module('app.services', [])
.factory('Friend', function ($http) {
return {
get: function () {
console.log("inside function");
return $http.get('/api/get.json');
}
};
});
然后以这种方式使用你的工厂:
.angular
.module('app.controllers', ['app.services'])
.controller('yourCtrl', function ($scope, Friend) {
Friend.get().then(function (msg) {
$scope.msg = msg;
});
});