haml 中的嵌套引号

Posted

技术标签:

【中文标题】haml 中的嵌套引号【英文标题】:nested quotes in haml 【发布时间】:2012-04-08 03:56:44 【问题描述】:

我正在尝试将我的 knockoutJs html 代码转换为 HAML,试图在编译后实现一些目标,例如:

<div data-bind="attr:  'data-something': someValue ">...</div>

所以我试试:

%divdata:bind:"attr:  'data-something': someValue "

但是使用 haml_assets 0.1.0 我得到:

<div data-bind="attr:  "data-something': someValue '>...</div>

所以我最后的办法是回到:

== <div data-bind="attr:  'data-something': someValue ">...</div>

这是 HAML 中的一个错误,和/或有没有更简洁的方法来实现这一点?

【问题讨论】:

您是否尝试过使用 \ 转义第二个示例中的单引号。完全在黑暗中拍摄,我对haml一无所知。 添加单引号似乎没有帮助。仍然产生相同的结果。我怀疑 HAML 处理存在错误:它似乎以某种方式检测到存在嵌套(因为它产生单引号),但错误地应用了引号。 【参考方案1】:

这是 haml_assets 0.1.0 上的一个问题。为此创建了一张票:https://github.com/infbio/haml_assets/issues/10

在修复之前还有一个更好的解决方法:

%divdata:bind:'attr:  "data-something": someValue '

【讨论】:

【参考方案2】:

试试这个:

%div(data-bind="attr:  'data-something': someValue ")

当我在使用 HAML 的 RoR 应用程序中执行此操作时,我得到了这个渲染:

<div data-bind="attr:  'data-something': someValue "></div>

【讨论】:

我仍然得到相同的结果,所以我认为我正在使用的 haml_assets 生成有问题。 (这是关于资产管道中的 haml 文件。)

以上是关于haml 中的嵌套引号的主要内容,如果未能解决你的问题,请参考以下文章

如何正确转义 JSP 标记中的三重嵌套引号

js 单引号嵌套双引号报错?

处理从 c# 生成的 html 中的嵌套引号

如何将不带引号的嵌套字符串字典转换为Python中的字典

单引号和双引号的一些总结

NVCC 无法处理 MSVC 编译器选项中的嵌套引号