ng-repeat without HTML element (this time really without any)

耗尽温柔 提交于 2019-12-22 06:53:07

问题


I want to get something like:

Line 1<br>
Line 2<br>
Line 3<br>
Line 4<br>
Line 5<br>

using ng-repeat. Lines should be separated by nothing except <br>


回答1:


Here is a simplistic directive that hard-codes the <br>

HTML:

<p hidden-repeat="lines"></p>

app.directive('hiddenRepeat',function($parse){
  return {
    link: function(scope, elem, attr){
      var data = $parse(attr.hiddenRepeat)(scope);
      if(data){
        for (var i=0;i< data.length;i++){ 
          elem.append(data[i]+ "<br />");
        }  
      }
    }
  };
});

See it in action: http://plnkr.co/edit/Y8eahPYmBr5ohbWCInde?p=preview

This solution allows you to specify the directive in an attribute (In this case, hidden-repeat). By using the attribute version of a directive, you can specify what the wrapping element is (In this case, a paragraph).



来源:https://stackoverflow.com/questions/15552708/ng-repeat-without-html-element-this-time-really-without-any

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!