我该如何在Markojs中呈现原始HTML?

4
我可以帮助您翻译中文,这篇文章涉及到IT技术内容。您需要将数据模型从服务器检索出来,并使用Markojs作为UI库来呈现原始HTML。例如,让我们假设从服务器检索到的数据模型如下:
data = {
    copy: "<p class='myClass'>Hello World!</p>"
}

我希望能够像这样在我的Marko模板中呈现文本内容:
```html

我想要能够在我的Marko模板中渲染文本,就像这样:

```
.copy
    ${input.data.copy}

我希望你能够将HTML元素正确地呈现出来,但是它并没有像预期的那样完全起作用。它确实呈现在页面上,但它还显示了一个"<"">"作为页面上的文本。

看起来这个功能是我需要的,但已经被弃用了。有什么正确的方法来做到这一点吗?

以下是解决方案:

.copy -- $!{input.data.copy}
1个回答

4

Marko默认会对文本值进行转义,但是你可以使用$!{input.data.copy}(注意!),告诉Marko你想要原始的HTML。

https://markojs.com/docs/syntax/#dynamic-text

当你这样做时,实际上是关闭了Marko的一个安全功能,所以请确保如果你获取到的任何动态内容来自不安全的来源,请在其他地方进行转义以防止代码被注入到你的页面中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接