将 lodash 与 Angularjs 一起使用

Using lodash with Angularjs

我在网上找到了一个使用 AngularJS 和 Lodash 的应用程序。 包含 Lodash 的方法是简单地在正文中添加以下行(在包含 angular 之后):

<script src='vendor/lodash/3.3.1/lodash.min.js'></script>
<script src='myApp.js'></script>

在myApp.js里面,第一行是:

/* global angular, _ */

然后你就可以访问 Lodash(使用 _) 我不确定为什么会这样...

Lodash includes itself 在全局范围级别。它通过附加 _window 对象 (see code here)。 您看到的评论行与此无关。这是像 JSHint 这样的 linter 的配置行,因此它不会向您抛出错误,因为它认为这些变量是 undefined.

我会通过以下方式包含 lodash。

在 angular 之前将其包含在 index.html 中,就像您所做的一样(尽管我更喜欢使用 bower 命令,这将使它在全球范围内可用)。并且在你的模块中保持常量

angular.module('sampleApp', [])
    .constant('_', _);

将其注入您的控制器或 angular 组件。希望这有帮助。

.controller('sampleAppController', function ($scope) {
  $scope._ = _;
})

此外,您可以将它附加到 rootScope,不过我不喜欢这样做。