7

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

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

编辑:为了澄清,上述方法不起作用。我想知道是否还有其他语法可以将这种表达式分成多行。

4

3 回答 3

2

一个表达式可以跨越多行。但是,如果您尝试将表达式跨越多行,则 ng-repeat 会引发错误。

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

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

于 2013-10-25T12:48:58.347 回答
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

于 2013-12-25T23:54:40.177 回答
0

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

于 2013-10-25T12:33:29.020 回答