我对此感到疯狂。
这是代码,是我在表单中使用的组件,用于在将网址粘贴到输入中时显示视频预览:
{{embedData}}
o-embed是一个组件,我在组件更新时添加了一个简单的总线发射函数:
mounted: function() {
EventBus.$on('HTML', function (payLoad) {
this.embedData = payLoad
console.log('payLoad:' + this.embedData);
});
}
如果我检查控制台日志,我会得到这个
payLoad:
Everythink 正在工作,this.embedData 看起来不错,我有日志,但是当我在我的视图中渲染 embedData 时它是空的。
我提供了一个附加信息:我正在强制重新渲染嵌入组件,但我认为它不相关。
有什么想法吗?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
Mythos 发现了这个问题(至少其中之一)。 Mustache 模板(双花括号)将内容解释为纯文本,而不是 html。如果你想将原始 html 注入到你的页面中,你应该这样做
相反 (https://v2.vuejs.org/v2 /guide/syntax.html#Raw-HTML)
您正在使用匿名函数。
this内部的匿名函数不提供组件的上下文。尝试使用箭头函数:
EventBus.$on('HTML', (payLoad) => { this.embedData = payLoad console.log('payLoad:' + this.embedData); });