AngularJS:使用多个控制器的异步数据初始化服务

时间:2018-10-08 16:36:15

标签: angularjs

关于主题,我找到了这样的帖子:Initialize service with asynchronous data

虽然看起来不错,但已经有两年历史了,有些参考文献已过时。例如:

$http.get('url').success replaced with $http.get('url').then

反正我有我的模特:

app.factory('User', function($http, $q) {
    var myData = null;

    var promise = $http.get('data.json').then(function (data) {
        myData = data;
    });

    return {
        promise: promise,
        setData: function (data) {
            myData = data;
        },
        doStuff: function () {
            return myData.getSomeData();
        }
    };
});

我需要在多个控制器之间共享它:

app.controller('controllerOne', function(User) {
    // do stuff
});

app.controller('controllerTwo', function(User) {
    // do stuff
});

app.controller('controllerThree', function(User) {
    // do stuff
});

以及从ngRoute调用的每个控制器:

app.config(function($routeProvider) {
    $routeProvider
        .when("/one",{,
          controller: "controllerOne"
        })
        .when("/two",{
          controller: "controllerTwo"
        })
        .when("/three",{
          controller: "controllerThree"
        });
    });

...无特定顺序

现在,有很多引用angular-deferred-bootstrap的帖子,但是该库自2015年以来就没有更新过。我的问题:angular-deferred-bootstrap仍然是这样做的首选方法吗? /更好的方法?

0 个答案:

没有答案