我的应用程序模块在index.js.中定义如下。我只是创建模块并添加控制器,与模块关联的工厂。
import controller from './controllers/myAppController';
import factory from './controllers/myAppFactory';
angular.module("myApp" , [])
.config(..//code)
.controller('myAppCtrl',['$scope','myappFactroy',controller])
.factory('myappFactory',['$http',factory]);
myAppController.js
const myAppController= function($scope,factory) {
$scope.myData= factory.getJsonFile(); //here am not getting the file
};
export default myAppController;
myAppFactory.js
const myAppFactory= function($http) {
function getJsonFile (){
$http.get('/sample/app/mock-data/test.json').success(function(data) {
return data;
}).error(function(){
alert("Error in getting the file");
});
}
return{
getJsonFile:getJsonFile
};
};
export default myAppFactory;
问题:
1)我在工厂获取数据,如[object] [object]。但是在控制器中我没有得到数据。 $ scope.myData是undefine。
问题:
1)在定义angular.module时,我需要更改定义控制器和模块的顺序。即。应该首先定义工厂然后再控制器,因为控制器依赖于工厂?
eg: angular.module("myApp",[])
.config()
.factory()
.controller();
2)如果我的工厂需要$ http,我是否需要将它注入我的控制器,因为它将调用工厂方法?
3)解析收到的json响应并从中获取数据的最佳方法是什么。