主题组件中的脚本仅执行一次;当路由发生变化(非完整页面刷新)时,如何重新执行它们?
例如,我希望组件中的脚本在标签页之间导航后仍能执行。
主题组件中的脚本仅执行一次;当路由发生变化(非完整页面刷新)时,如何重新执行它们?
例如,我希望组件中的脚本在标签页之间导航后仍能执行。
<script type="text/discourse-plugin" version="0.8">
api.onPageChange(() => {
// 你的代码
});
</script>
如果我在构建主题组件,这段代码应该放在哪里?这是我目前的代码。我试图在每次路由变化时重新渲染页脚,以便脚本能够重新执行。
我遇到了一些奇怪的错误。
我完全是个新手,不知道这样做是否正确。
initialize() {
withPluginApi("0.8", api => {
if (settings.Show_footer_on_login_required_page) {
api.modifyClass("controller:static", {
@on("init")
showFooterOnStatic() {
this.set("application.showFooter", true);
}
});
api.onPageChange(() => {
showFooterOnStatic() {
this.set("application.showFooter", true);
}
});
}
});
你有没有尝试查看其他类似 #theme-component 的现有设计、工作或代码,以获取一些实施思路?
我看过一些,但它们似乎没有我想要的功能。我想我会再查看更多的主题组件。