是的,@manuel 的解决方案是实现目标的一种简单方法。使用 window.location.href,由于 Ember 的 runloop,您可能会遇到获取正确 URL 的问题。
要将您正在做的事情调整为更“Ember”的方法,可以这样做:
<script type="text/discourse-plugin" version="1.1.0">
api.onPageChange(() => {
const router = api.container.lookup('service:router');
if (router.currentRoute.name === 'discovery.top') {
document.querySelectorAll('#main-title')[0].style.display = 'none';
}
});
</script>
但是,最好是添加一个 body 类并设置该类的样式,这样也可以进行更复杂的样式更改。
<script type="text/discourse-plugin" version="1.1.0">
api.onPageChange(() => {
const router = api.container.lookup('service:router');
if (router.currentRoute.name === 'discovery.top') {
document.body.classList.add('route-discovery-top');
} else {
document.body.classList.remove('route-discovery-top');
}
});
</script>
.route-discovery-top #main-title {
display: none;
}