将下划线或破折号附加到角度

问题描述 投票:6回答:6

将underscore.js变量附加到角度变量上可以吗?所以我可以这样称呼下划线:angular._?由于下划线不太可能在测试中被嘲笑,并且我们不能声明全局变量?

如果是这样,我应该在我的angular.js应用程序的哪一部分添加它?

javascript angularjs underscore.js
6个回答
7
投票

我认为最好不要在下角附加下划线,而是直接使用下划线。


11
投票

我更喜欢在它自己的可注入模块中创建包装服务,例如:

angular.module('underscore.service', [])
.factory('_', function () {
  return window._; // assumes underscore has already been loaded on the page
});

如前所述,您应该像平常一样在HTML中的angular之前包含underscore.js。

此方法允许使下划线在测试环境中可访问。


0
投票

我见过的最好的方法是依赖注入。

查看此链接至ng-underscore link

此链接的角度下划线link


0
投票

如果使用ES6模块,则可以将其导入,如果使用iife方法,则可以将其注册为常量,然后再注入它

angular.module("app").constant("_", _);

仍然建议使用es6体系结构。您可以看一下this


0
投票

您将使用什么测试套件?

如果您使用的是业力,则可以在文件选项下的业力配置中添加任何第三方库。这些文件将在浏览器中可用,并且可供您的测试访问。无需将lib包装在角度服务中或将其附加到角度。


0
投票

如果您想使用下划线,您只需将其添加到您的范围内

在控制器中执行以下操作

$scope._ = _;

现在您将在HTML模板中使用所有下划线功能,例如

<div ng-repeat="value in _.filter(list, ...)"></div>
© www.soinside.com 2019 - 2024. All rights reserved.