vue数据未更新但数据发生变化
P粉071626364
P粉071626364 2024-02-17 13:22:14
[Vue.js讨论组]

我对此感到疯狂。

这是代码,是我在表单中使用的组件,用于在将网址粘贴到输入中时显示视频预览:



o-embed是一个组件,我在组件更新时添加了一个简单的总线发射函数:

mounted: function() {
    EventBus.$on('HTML', function (payLoad) {
      this.embedData = payLoad
      console.log('payLoad:' + this.embedData);
    });
  }

如果我检查控制台日志,我会得到这个

payLoad: 

Everythink 正在工作,this.embedData 看起来不错,我有日志,但是当我在我的视图中渲染 embedData 时它是空的。

我提供了一个附加信息:我正在强制重新渲染嵌入组件,但我认为它不相关。

有什么想法吗?

P粉071626364
P粉071626364

全部回复(2)
P粉006540600

Mythos 发现了这个问题(至少其中之一)。 Mustache 模板(双花括号)将内容解释为纯文本,而不是 html。如果你想将原始 html 注入到你的页面中,你应该这样做

相反 (https://v2.vuejs.org/v2 /guide/syntax.html#Raw-HTML)

P粉998920744

您正在使用匿名函数。 this 内部的匿名函数不提供组件的上下文。

尝试使用箭头函数:

EventBus.$on('HTML', (payLoad) => {
      this.embedData = payLoad
      console.log('payLoad:' + this.embedData);
    });
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号