【问题标题】:How do I get the current route in an Aurelia html template?如何在 Aurelia html 模板中获取当前路线?
【发布时间】:2016-02-06 18:51:02
【问题描述】:

我有一个 Aurelia 应用程序,其页面有两个指向它的路由 - 即 'create-password''reset-password' 都指向 reset-password.html。我的reset-password.js 文件注入了路由器,因此视图模型可以访问路由器。

我希望能够根据用于访问页面的路由来更改页面中的项目。如何获取当前显示页面的路由?

我在想像 ${Router.currentRoute} 这样的东西应该可以吗?

【问题讨论】:

    标签: javascript aurelia


    【解决方案1】:

    在检查 Router 对象后,我能想到的最好办法是从历史属性中获取当前片段。 在 reset-password.js 中:

    isCreateRoute() {    
        return this.Router.history.fragment == '/create-password'
    }
    

    然后在reset-password.html中:

    <div if.bind="isCreateRoute()">Create</div>
    <div if.bind="!isCreateRoute()">Reset</div>
    

    这就是我根据路由在页面中获取动态项目的方法。

    【讨论】:

    • 这对我不起作用。 var fragment = this.router.history.fragment; console.log(this.router, fragment); fragment 未定义,但我可以通过 this.router 导航并获取片段值。
    • 这听起来很奇怪。 console.log(this.router.history.fragment) 有什么不同吗?
    • 返回undefined
    猜你喜欢
    • 2016-10-31
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 2019-07-15
    • 2018-01-01
    • 2016-08-03
    相关资源
    最近更新 更多