自定义主题组件在首次渲染时未显示

我创建了一个简单的组件,用于显示一个简单的可点击横幅,供登录用户使用。它运行正常,直到我升级到 2.9.0.beta5:安全修复、阻止热链接媒体、PM 标记、搜索改进等

该组件仅在我刷新页面 2-3 次后显示,并且每次在新选项卡/窗口中打开我的网站时都会消失。我发现 theme-creator 上也出现了同样的问题。

有什么想法为什么会这样吗?以下是我使用的代码。

<script type="text/discourse-plugin" version="0.8">
const h = require("virtual-dom").h;

let user = api.getCurrentUser();

if(user){
 api.createWidget("fixed-banner", {
     tagName: "div.container-row",

     html() {
         return h('div.content', [
             h('a.bannerLink', {
                href: '/categories',
             }, 'test'),
    ]);
     }
 });
  
}
</script>
1 个赞

找出我之前将以下代码放在 <body> 标签中的原因:

<script type="text/x-handlebars" data-template-name="/connectors/above-site-header/theme-component">
    {{mount-widget widget="theme-component"}}
</script>

将其移至 <head> 标签后,此问题得以解决。但奇怪的是,在最近升级后,这个问题突然出现,而以前一直运行正常。