在自定义元素模板中,假设hello\world
等字符串存储为this.foo
。
如何将\n
替换为<br />
?
SE上发现的几个帖子提到Juicy(https://github.com/Juicy/juicy-html) 其他人使用自定义元素作为包装器(请参阅Bind text with line breaks)
但是,有没有一种更简单的方法,那么做什么呢?
<template is="dom-repeat" items="{{bubbles}}">
<li><span class="content">{{getContent(item)}}</span></li>
</template>
并且
getContent: function(item) {
return item.content.replace(/\\n/g, "<br />")
}
问题是<br />
未被评估为HTML元素
那么是否有一种正确的方法可以针对某些允许的标签验证字符串(在这种情况下为br
),还是我真的必须采用Juicy方式?
答案 0 :(得分:-1)
好吧,现在实现这一点的最好(也是唯一?)方法是将HTML字符串作为参数传递给我的自定义元素,而不是使用innerHTML
在所述自定义中注入HTML元件...
这正是Juicy(https://github.com/Juicy/juicy-html)的作用。
结论,要么在自定义元素中使用innerHTML
,要么使用Juicy;)