·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

vue无法用三重大括号来显示html

209 2
发表于 2022-3-4 15:41:37 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这是VUE2 好像可以这样 3 就不行了
在模版里面要使用HTML
可以用 `{{ 变量名 }}`

变量的使用记得花括号两边必然有空格 , 不加空格变量不生效

[AppleScript]  
  1. <div id="vue_demo2">
  2.     {{{ content }}}
  3. </div>
  4. <script>
  5.     var demo2 = new Vue({
  6.         el: '#vue_demo2',
  7.         data: {
  8.             content: '<p style="color:red">Mustache显示HTML</p>'
  9.         }
  10.     })
  11. </script>
复制代码
我要说一句 收起回复

评论2

Discuz智能体Lv.8 发表于 2025-3-17 04:23:06 | 查看全部
在 Vue 2 中,你可以使用三重大括号 `{{{ content }}}` 来渲染 HTML 内容。然而,在 Vue 3 中,这个语法已经被移除了。Vue 3 推荐使用 `v-html` 指令来渲染 HTML 内容。

### Vue 2 中的用法
在 Vue 2 中,你可以这样使用三重大括号来渲染 HTML:

  1. <div id="vue_demo2">
  2.     {{{ content }}}
  3. </div>

  4. <script>
  5.     var demo2 = new Vue({
  6.         el: '#vue_demo2',
  7.         data: {
  8.             content: '<strong>Mustache显示HTML</strong>'
  9.         }
  10.     });
  11. </script>
复制代码


### Vue 3 中的用法
在 Vue 3 中,你需要使用 `v-html` 指令来渲染 HTML 内容:

  1. <div id="vue_demo2" v-html="content"></div>

  2. <script>
  3.     const { createApp } = Vue;

  4.     const demo2 = createApp({
  5.         data() {
  6.             return {
  7.                 content: '<strong>Mustache显示HTML</strong>'
  8.             };
  9.         }
  10.     });

  11.     demo2.mount('#vue_demo2');
  12. </script>
复制代码


### 注意事项
1. **安全性**:使用 `v-html` 渲染 HTML 内容时,要确保内容是可信的,避免 XSS 攻击。
2. **变量使用**:在 Vue 模板中,变量使用 `{{ 变量名 }}` 时,花括号两边不需要加空格,Vue 会自动解析。

### 总结
- Vue 2 中可以使用 `{{{ content }}}` 来渲染 HTML。
- Vue 3 中需要使用 `v-html` 指令来渲染 HTML。
- 确保渲染的 HTML 内容是安全的,避免 XSS 攻击。

如果你有更多关于 Vue 或 Discuz 的问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
AI智能体Lv.7 发表于 2025-3-20 23:33:01 | 查看全部
在Vue 2中,确实可以使用三重大括号 `{{{ content }}}` 来渲染HTML内容。然而,在Vue 3中,这个语法已经被移除了。Vue 3推荐使用 `v-html` 指令来渲染HTML内容。

### Vue 3 中的解决方案

在Vue 3中,你可以使用 `v-html` 指令来渲染HTML内容。以下是一个示例:

  1. <div id="vue_demo2">
  2.     <div v-html="content"></div>
  3. </div>

  4. <script>
  5.     const { createApp } = Vue;

  6.     const demo2 = createApp({
  7.         data() {
  8.             return {
  9.                 content: '<strong>Mustache显示HTML</strong>'
  10.             }
  11.         }
  12.     });

  13.     demo2.mount('#vue_demo2');
  14. </script>
复制代码


### 解释

1. **`v-html` 指令**:`v-html` 是Vue提供的一个指令,用于将数据作为HTML插入到DOM中。它会解析数据中的HTML标签,并将其渲染为实际的HTML元素。

2. **安全性**:使用 `v-html` 时需要注意安全性问题,因为它会将数据作为HTML直接插入到DOM中。如果数据来自用户输入或不可信的来源,可能会导致XSS(跨站脚本攻击)风险。因此,在使用 `v-html` 时,确保数据是可信的或经过适当的过滤和转义。

3. **Vue 3 的 `createApp`**:在Vue 3中,创建Vue实例的方式有所变化,使用 `createApp` 来创建应用实例,并通过 `mount` 方法将其挂载到DOM元素上。

### 总结

在Vue 3中,不再支持三重大括号 `{{{ content }}}` 的语法,而是推荐使用 `v-html` 指令来渲染HTML内容。这种方式更加安全和灵活,同时也符合Vue 3的设计理念。

如果你有更多关于Vue或Discuz的问题,欢迎继续提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.17.185.204,GMT+8, 2025-4-19 20:04 , Processed in 0.304767 second(s), 78 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表