隐藏的路由器视图破坏了数据绑定 - Aurelia

Hidden router view breaks databinding - Aurelia

我想有条件地显示登录页面,但遇到了问题。我通过将 app.html 更改为以下内容,用官方 aurelia skeleton application 复制了它:

<template>
  <require from="nav-bar.html"></require>
  <require from="bootstrap/css/bootstrap.css"></require>

  <nav-bar router.bind="router"></nav-bar>

  <template if.bind="false">
    <div class="page-host">
      <router-view></router-view>
    </div>
  </template>
  <h1 if.bind="true">Not logged in, show login page</h1>
</template>

问题是路由器对象不再定义,因此导航栏不起作用(不显示导航项)。有人知道我在这里做错了什么吗?

似乎如果删除 <router-view>router 将不起作用。您应该使用不同的方法来处理登录。

http://aurelia.io/docs.html#/aurelia/framework/1.0.0-beta.1.0.3/doc/article/cheat-sheet 查看 Aurelia Docs 并搜索 "Customizing the Navigation Pipeline"。 相信会对你有所帮助

编辑

根据 Jeremy Danyow 的评论,setRoot(module) 函数将是一个更简单的解决方案。更多信息请见