问题描述
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’ } }); });
问题解答
回答1:这个叫inline array annotation,目的是在代码被uglify之后仍然可用。
你可以试试,如果不通过[]处理,压缩下代码,肯定运行不起来了。
具体参考Dependency Injection
回答2:没有差别,但是最好用第一种写法。因为第二种是直接根据形参注入的,如果代码压缩了,$resource压缩成其它的,就报错了。