【问题标题】:canActivate issue with durandal 2.0.1durandal 2.0.1 的 canActivate 问题
【发布时间】:2013-12-15 13:22:52
【问题描述】:

我下载了 Durandal 2.0.1 StarterKit,并将其用于 Web 项目。我已经使用它一段时间了。

在我的一个视图模型中,我使用 url 中带有 id 的路由:route: 'test/:id'。因为我想防止来自用户的随机 id 输入,所以我使用了canAvtivate 函数,我在其中执行了一些检查。

当我尝试从另一条路由访问路由时,canActivate 函数在激活之前被评估,但是当我只是更改 url 中的 id 值时,不会调用该函数。如果我在该视图中说router.navigate("#/test/44");,也会发生同样的情况。

这是期望的行为吗?

【问题讨论】:

    标签: durandal durandal-2.0


    【解决方案1】:

    这有点猜测,因为我还没有玩过参数化路由,但也许活动模块正在被重用?以下链接中的“模块重用”部分是否适用于您的情况?

    http://durandaljs.com/documentation/Using-The-Router/

    也许你可以通过实现canReuseForRoute来解决这个问题

    【讨论】:

    • 通过实现canReuseForRoute 我设法得到canActivate 评估。
    猜你喜欢
    • 2017-10-08
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 2013-09-11
    • 2013-05-16
    • 1970-01-01
    相关资源
    最近更新 更多