【发布时间】:2015-01-01 15:47:04
【问题描述】:
假设我们通过 Mustache 将初始数据从 php 传递到 Angular 视图,并且数据是一些包含引号的字符串,例如 "Can't delete item"。
Mustache 默认将单引号翻译成',例如:
ng-init="message='Can't delete item'"
但这会导致某种角度解析问题:
Lexer 错误:表达式 [message='Can't delete item'] 中的列 ... ['] 处的引号未终止
我不能使用 Mustache 的三重卷发,因为那样会是这样的:
ng-init="message='Can't delete item'"
在输出中出现同样的错误。
Plunk:http://plnkr.co/edit/GCq4gLrD1NxxCvAsjHy9?p=preview
我们如何在 Mustache 阶段优雅地解决它?
【问题讨论】:
-
你应该澄清你的问题的标题。你不能在角度解析之前将
'替换为\'和"替换为\"吗? -
我不能,它正在从服务器“损坏”
-
你不能从你的控制器(或指令的链接函数)初始化值吗?
-
@arturgrzesiak 不,它是我无法更改的旧系统(具有特定的服务器/客户端关系方案)的一部分。
'的 Angular 解析机制问题是什么? -
@Cherniv 没有深入研究,但如果你继续
&#039与 \ 那么它似乎工作正常:http://plnkr.co/edit/HPmadiLEHBHs5l6XLKiV?p=preview
标签: php angularjs mustache template-engine mustache.php