首页 > angularjs中,带个[]是什么意思?

angularjs中,带个[]是什么意思?

app.factory('Notes', ['$resource', function($resource) {
    return $resource('/notes/:id', null, {
        update: { method:'PUT' }
    }); 
}]);

貌似上面这种写法跟下面这种没差别。请问有什么差别??

app.factory('Notes', function($resource) {
    return $resource('/notes/:id', null, {
        update: { method:'PUT' }
    }); 
});

这个叫inline array annotation,目的是在代码被uglify之后仍然可用。

你可以试试,如果不通过[]处理,压缩下代码,肯定运行不起来了。

具体参考Dependency Injection


没有差别,但是最好用第一种写法。因为第二种是直接根据形参注入的,如果代码压缩了,$resource压缩成其它的,就报错了。

【热门文章】
【热门文章】