是否可以在Angular属性中使用多行?

时间:2013-10-25 12:27:53

标签: angularjs

是否可以在属性标记中的Angular JS表达式中包含换行符?像这样:

<p ng-repeat="
    foo in foos 
    | filter:{attr: 'something really long'} 
    | orderBy:bar">
  {{foo}}
</p>

编辑:澄清一下,上述说法不起作用。我想知道是否有其他语法允许将这种表达式分成多行。

3 个答案:

答案 0 :(得分:2)

表达式可能跨越多行。但是,如果尝试在多行上跨越表达式,ng-repeat会抛出错误。

看看这个plunker: 在ng-repeat表达式中添加一个新行,然后打开浏览器控制台以查看错误消息。

http://plnkr.co/edit/E1O8Iy3VzL3kzj72BDUL?p=preview

答案 1 :(得分:2)

angular.js解析器能够处理它,但是在将它交给解析器之前有一个快速的正则表达式检查(参见http://docs.angularjs.org/error/ngRepeat:iexp):

  

请注意,ngRepeat指令使用正则表达式解析表达式   在将集合和可选的id发送到AngularJS解析器之前。   此错误来自正则表达式解析。

我提交了一个错误来放宽此限制:https://github.com/angular/angular.js/issues/5537,您可以在此期间手动修补它,它只有1个字符:m/regex/m)。

答案 2 :(得分:0)

是的,可以将多行属性与任何HTML元素一起使用,包括AngularJS指令。