我正在使用NodeJS和AngularJS。
在Angular中我想引用一个json文件,并将json的各个部分分成不同的控制器。
目前我在控制器中使用http.get(见下文)。
var app = angular.module('app', []);
app.controller('introCtrl', function ($scope, $http) {
$http.get('src/data_json.js').success(function(data) {
$scope.intro = data;
});
这将返回第一个控制器中的整个json对象。但是我想要json文件,将其存储为变量,并让多个控制器引用不同的部分。
有没有办法使用nodejs将json文件传递给角度控制器还是有更好的方法来使用角度来要求json文件吗?
非常感谢
答案 0 :(得分:1)
答案 1 :(得分:0)
谢谢 - 我最后像你建议的那样使用了工厂服务......
var App = angular.module('App', []);
// Setting up a service to house our json file so that it can be called by the controllers
App.factory('service', function($http) {
var promise;
var jsondata = {
get: function() {
if ( !promise ) {
var promise = $http.get('src/data_json.js').success(function(response) {
return response.data;
});
return promise;
}
}
};
return jsondata;
});
App.controller('introCtrl', function (service , $scope) {
service.get().then(function(d) {
$scope.header = d.data.PACKAGE.ITEM[0]
})
});
App.controller('secondCtrl', function (service , $scope) {
service.get().then(function(d) {
$scope.title = d.data.PACKAGE.ITEM[1]
})
});