在Angular表达式中嵌套引号

Jes*_*uis 5 html javascript angularjs

在.js文件中,三重嵌套引号("one'two"三""")可以转义(参见本文),在HTML中也可以使用字符引用实现(参见本文).我在模板中的AngularJS表达式中遇到此问题.

我需要这样说:

{{ 'PLURAL' | translate:"{ GENDER: 'male' }":"messageformat" }}
Run Code Online (Sandbox Code Playgroud)

进入占位符元素:

<input placeholder="{{ 'PLURAL' | translate:"{ GENDER: 'male' }":"messageformat" }}">
Run Code Online (Sandbox Code Playgroud)

我应该如何逃避报价以使其有效?

Pan*_*kar 4

答案将放在{ GENDER: 'male' }某个作用域变量中,然后在插值指令表达式中使用它,这将更好地简化您的转义。

标记

<div ng-init="maleFilter = { GENDER: 'male' }">
   <input ng-attr-placeholder="{{ 'PLURAL' | translate: maleFilter : 'messageformat' }}">
<div>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助你,谢谢。