我使用de lodash封装器为AngularJS收到错误“ReferenceError:_ is not defined”,好像它没有被注入,但我检查了它。
但出于某种原因,如果我使用'lodash'这个词而不是'_',那就可以了。
$scope.example = _.filter($scope.mails, {folder: '!trash'});
// referenceError: _ is not defined
$scope.example = lodash.filter($scope.mails, {folder: '!trash'});
// works as it should
我的问题是,我很抱歉打扰你,但这是我应该担心的事情吗?
我在Angular比较陌生,我对像这样的奇怪的无法解释的错误感到很糟糕。
答案 0 :(得分:1)
使用_
来表示lodash
只是将in添加到window
对象时使用的约定。使用Angular和依赖注入(DI),在控制器代码中使用名称lodash
可以说更清晰。
只需将注入参数的名称更改为控制器,即可始终使用_
。请注意,这依赖于使用注入数组语法(无论如何这是一个好主意!):
app.controller('yourController', ['$scope', 'lodash', function($scope, _) {
$scope.example = _.filter($scope.mails, {folder: '!trash'});
}]);
我说这不仅仅是使用lodash
作为名称。