小编Did*_*ier的帖子

AngularJS App:从JSON加载一次数据并在多个控制器中使用它

我正在使用AngularJS作为框架开发移动应用程序,目前我的结构类似于:

app.config(['$routeProvider', function($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl : 'pages/home.html',
            controller  : 'homeCtrl'
        })

        .when('/one', {
            templateUrl : 'pages/one.html',
            controller  : 'oneCtrl'
        })

        .when('/two', {
            templateUrl : 'pages/two.html',
            controller  : 'twoCtrl'
        });
}]);

app.controller('homeCtrl', ['$scope', function($scope) {

}]);

app.controller('oneCtrl', ['$scope', function($scope) {

}]);

app.controller('twoCtrl', ['$scope', function($scope) {

}]);
Run Code Online (Sandbox Code Playgroud)

然后我用以下内容显示内容ng-view:

<div class="ng-view></div>
Run Code Online (Sandbox Code Playgroud)

事情进展顺利,但我需要从JSON文件加载数据以填充应用程序的所有内容.我想要的是只做一次 AJAX调用,然后通过我所有不同的控制器传递数据.在我的第一次尝试中,我想创建一个带有$http.get()内部服务的服务,并将其包含在每个控制器中,但它不起作用,因为每次注入和使用服务时它都会产生不同的ajax请求.因为我是新的使用角度我想知道什么是最好的方式或更多的"角度方式"来实现这一点而不会弄乱它.

编辑:我正在添加服务的代码,这只是一个简单的$http.get请求:

app.service('Data', ['$http', function($http) {
    this.get = function() {
        $http.get('data.json')
        .success(function(result) {
            return result;
        })
    }
});
Run Code Online (Sandbox Code Playgroud)

javascript angularjs ng-view

6
推荐指数
2
解决办法
6321
查看次数

标签 统计

angularjs ×1

javascript ×1

ng-view ×1