我有一个以网格显示的项目列表。当您单击其中一个项目时,它将导航到项目的详细信息。在那个页面上,我想检索一些关于dom的信息,根据dom做一些动作。
如果我订阅了事件(使用事件聚合器)路由器:导航:完成 Aurelia并在这里执行console.log,那么它会显示列表的DOM信息而不是DOM详细信息页面的信息。
我订阅了错误的活动吗?
答案 0 :(得分:0)
将一个变量声明为currentActivePage:string; app.js中的导航成功事件以及您需要的位置。
currentActivePage: string;
self.eventAggregator.subscribe('router:navigation:success', obj => {
if (obj !== undefined) {
self.currentActivePage = obj.instruction.config.name;
}
//self.prepareTabs(obj.instruction.config);
});
同样提到你可以在任何你需要的地方使用。在HTML中,您可以根据下面的条件显示或隐藏dom
<div class="${currentActivePage == 'PageName' ? 'DisplayNone':'DisplayBlock'}">
content will go here
</div>