DOM加载后运行函数(didRender、didInsertElement和decorateCooked不起作用)

您好。我正在尝试评估主题显示页面上的一个 div。为此,我需要在主题显示页面上的 dom 加载完成后运行一个函数。

在普通的 JavaScript 中,我会为此运行“window.onload = function()…”。但是,当从站点内部导航到该主题时,此 onload 函数似乎不起作用。

如何才能在 dom 完全加载后运行该函数?


我尝试了以下方法,但似乎都不起作用:

withPluginApi("0.11.1", api => {
    api.modifyClass('component:topic-title', {
          didRender: function(){  //也尝试过 "didInsertElement"
                  //运行函数——仍然在所有 div 加载之前运行
           }
      }),
     api.decorateCookedElement(function() {
           //运行函数——仍然在所有 div 加载之前运行。
    })
})

我认为您必须通过组件事件来完成。您为什么关心呢?也许选择一个处于树深处的组件,可以说是“叶子”。

“Dom fully loaded”在单页应用程序中似乎没有多大意义,因为一切都是动态的?

总之,听起来您已经走在正确的道路上了。这会引起什么问题?为什么您必须加载所有的 div?

您到底是什么意思“evaluate a div”?也许有另一种方法可以处理您正在做的事情?

3 个赞

我想更改 div 的文本,或者在某些情况下将其从视图中移除。

关于我选择的组件,你说得对——这可能是出问题的原因,即我选择的组件在某些 div 之前加载,而我可以尝试一些可能稍后加载的组件。谢谢。

2 个赞