sup*_*cuo 2 html javascript ractivejs
我正在尝试在由Ractive.js呈现的数据中包含HTML标记(对于自动下标化学符号,以防有人关心),但Ractive只是插入文本而不是创建新的DOM元素.
一个最小的测试用例,改编自60秒的设置指南:
<script id='template' type='text/ractive'>
<p>Hello, {{name}}!</p>
</script>
<script type="text/javscript">
var ractive = new Ractive({
el: 'container',
template: '#template',
data: { name: '<b>world</b>' }
});
Run Code Online (Sandbox Code Playgroud)
正如你在这个JSfiddle中看到的那样,结果Hello, <b>world</b>
不是预期的"Hello,world "
我猜这是与Ractive处理表达式的方式有关...但我还没有达到源有用的意义.
有关如何获得预期行为的任何想法?
Ric*_*ris 10
是! 你可以使用三重文章:
<p>Hello, {{{name}}}!</p>
Run Code Online (Sandbox Code Playgroud)
在传统的胡子中,这意味着"不要逃避name
' 的价值." 转换为Ractive,意味着'将内容插入HTML而不是文本.
请注意,HTML在插入之前不会被清理,因此如果name
来自用户输入,则可能存在XSS和其他恶意内容:http://jsfiddle.net/rich_harris/4jBC8/.