我可以在 angular 指令的属性值中使用双引号吗?

Can I use double quotes in an attribute value of angular directive?

你能建议如何将 {{$count}} times per month <span ng-include="'views/partials/month-dates.html'"></span> 分配给 translate-plural 属性吗?

例如以下表达式导致解析错误:

<translate translate-n="notification.Data[flightType][direction].Days.length" translate-plural="{{$count}} times per month <span ng-include=\"'views/partials/month-dates.html'\"></span>">
    N times per month on <span ng-include="'views/partials/month-dates.html'"></span>
</translate>

因为我没有收到任何好的答案,所以我将分享我在这个主题上的发现。

  • Angular好像没有办法转义双引号 观看次数。
  • 如果确实需要在指令属性中使用双引号 有两种方法:

    1. 如果可能的话(在我的例子中是不可能的)使用单引号来包裹 属性值和属性值中的双引号或副 相反
    2. 你也可以用双引号替换常量 像我一样使用变量的属性值

查看下面的解决方案

<div ng-init="monthDatesView = 'views/partials/month-dates.html'"></div>
<translate translate-n="notification.Data[flightType][direction].Days.length" translate-plural="{{$count}} times per month on <span ng-include='monthDatesView'></span>">
    N times per month on <span ng-include="monthDatesView"></span>
</translate>

您是否尝试过使用 &quot;&#34;?我刚刚遇到了一个与属性内的 angular 表达式类似的问题,它是这样工作的。