加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJs:在视图模板中有Underscore / Lodash / _

发布时间:2020-12-17 18:04:13 所属栏目:安全 来源:网络整理
导读:我想在AngularJS视图模板中使用Underscore / Lodash / _.这样我可以使用_如下所示: li ng-repeat="number in _.range(100,125)"!-- Some logic here --/li 就此而言,我们可以使用Lodash的任何有用功能. 我们可以通过在控制器和指令的$scope中添加_来实现这
我想在AngularJS视图模板中使用Underscore / Lodash / _.这样我可以使用_如下所示:

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

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

我们可以通过在控制器和指令的$scope中添加_来实现这一点,如下所示:

$scope._ = _;

但我想进行一次性配置/更改,为每个视图模板的每个范围添加_.

我觉得有用的一种方法是:

$rootScope._ = _; //Have this line in .run() method.

这适用于控制器和指令的所有视图.但这不适用于隔离范围指令的视图.我再次必须在指令定义中添加($scope._ = _;).

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

注意:另一个问题How to make lodash work with Angular JS?特别谈到在ng-repeat中使用lodash.但我的问题是在每个视图模板(包括指令视图模板)中使用lodash.这是我发现隔离范围指令的限制.

解决方法

这就是我这样做的方式:

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

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

步骤2:创建一个’_’服务,您可以将其注入所需的所有控制器:

'use strict';

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

第3步:通过注入’_’在任何你喜欢的地方使用它:

'use strict';

angular.module('myApp')

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

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

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

});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读