下划线_.range()不适用于AngularJS ng-repeat

时间:2013-02-18 16:46:27

标签: angularjs underscore.js

如果我只需要20次迭代,我该如何重复我的块? 这不行:

<div ng-repeat="item in _.range(20)"></div>

页面中包含的Underscore JS

1 个答案:

答案 0 :(得分:18)

如果要在模板中使用undersore函数,则必须在范围上公开它。如果你想让它在所有模板中都可用,一种方法是:

var app = angular.module('angularjs-starter', []);

app.run(function($rootScope){
  $rootScope._ = _;
});

然后你可以尝试在模板中使用它:

<div ng-repeat="item in _.range(20)">{{item}}</div>

这是一个有效的插件:http://plnkr.co/edit/1Va4EikvRyFiQvhb2HYV?p=preview

虽然上述作品不应该使用。模型应该在控制器中初始化。否则,AngularJS将在每个$ digest周期执行_range以生成新数组。