如何创建输出唯一ID的角度过滤器

时间:2015-01-12 17:12:41

标签: angularjs angularjs-filter angular-digest

问题很简单,如何创建一个angularJs过滤器,将任何输入连接到一个唯一的ID。这对于生成HTML id非常有用,或者为ng-repeat中的一组元素定义唯一属性值。

注意:ID必须是“全局”唯一的,这使得角度ng-repeat的$index无效。

现在,您可能想到的解决方案是这样的:

myModule.filter('uniqueId', function(){ var idCounter = 0; return function(input) { return (input || '') + (++idCounter); }; });

并在您的HTML中写下类似的内容:

<div id="{{groupName | uniqueId}}">

挑战是角度将进入摘要循环,因为评估groupName | uniqueId永远不会产生相同的值,这意味着范围永远不会解决。

最后一件事。我们使用angular v1.2.27,这意味着我们不能使用angular 1.3的新::(即一次绑定)运算符。

0 个答案:

没有答案