36

我正在使用带有几个控制器的解析功能在新视图的渲染开始之前获取一些数据,如下所示:

HomeCtrl.resolve = {
    pictures: function(Picture) {
        return Picture.getall();
    } 
};

我该如何写这个,以便作为参数传递的图片服务在缩小时不会被覆盖?

4

2 回答 2

55

您可以使用以下模式注入依赖项,这是缩小证明

HomeCtrl.resolve = {
    pictures : ['Picture', function(Picture) {
                return Picture.getall();
            }]
};
于 2013-04-02T11:20:28.323 回答
2

使解析函数缩小安全的另一种方法:

HomeCtrl.resolve = {
    pictures: getPictures
};

getPictures.$inject = ['Picture'];
function getPictures(Picture){
    return Picture.getall();
}

这种技术利用了在 javascript 中函数也是对象的事实,因此可以具有属性。

有关更多信息,请访问https://docs.angularjs.org/guide/di并搜索“$inject”。

于 2015-11-19T20:29:23.700 回答