gpt4 book ai didi

AngularJs:在 View 模板中有下划线/Lodash/_

转载 作者:行者123 更新时间:2023-12-04 16:08:33 27 4
gpt4 key购买 nike

我正在尝试在 AngularJS View 模板中使用 Underscore/Lodash/_。这样我可以使用 _ 如下所示:

<li ng-repeat="number in _.range(100, 125)"><!-- Some logic here --></li>

就此而言,我们可以使用 Lodash 的任何有用功能。

我们可以通过将 _ 添加到 Controller 和指令的 $scope 来实现这一点,如下所示:
$scope._ = _;

但我想要一次性配置/更改,将 _ 添加到每个 View 模板的每个范围。

我发现有用的一种方法是:
$rootScope._ = _; //Have this line in .run() method.

这适用于 Controller 和指令的所有 View 。但这不适用于孤立作用域指令的 View 。我再次必须在指令定义中添加 ($scope._ = _;)。

是否有一次性/单一地点更改/配置/代码可以实现这一目标?

注:其他问题 How to make lodash work with Angular JS?专门讨论在 ng-repeat 中使用 lodash。但我的问题是关于在每个 View 模板(包括指令 View 模板)中使用 lodash。这就是我发现隔离范围指令的限制的地方。

最佳答案

我就是这样做的:

第 1 步:在 index.html 中包含 underscore-min.js:

<!-- underscore to be included with angular js -->
<script src="lib/underscore/underscore-min.js"></script>

步骤#2:创建一个“_”服务,您可以将其注入(inject)到您需要的所有 Controller 中:
'use strict';

angular.module('myApp')
.factory('_', function($window) {
return $window._; // assumes underscore is loaded on the page
});

步骤#3:通过注入(inject)'_'在任何你喜欢的地方使用它:
'use strict';

angular.module('myApp')

.controller('AppCtrl', function($scope, _) {

var test = {
x: 10,
name: 'Ashish Bajaj'
}

var 2ndTest = _.clone(test); //use underscore

});

关于AngularJs:在 View 模板中有下划线/Lodash/_,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30102068/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com