无法在 Polymer 1.0 入门套件中创建新路由(通过 page.js 和 iron-page)

cant make new routing in Polymer 1.0 starter-kit (via page.js and iron-page)

我是 Polymer 的新手,我刚开始使用 Polymer 1.0 入门套件

我了解 Polymer 应用程序的结构并使用 page.js 制作了这样的新路线。

window.addEventListener('WebComponentsReady', function() {

    // We use Page.js for routing. This is a Micro
    // client-side router inspired by the Express router
    // More info: https://visionmedia.github.io/page.js/
    page('/', function () {
      app.route = 'home';
    });

    page('/users', function () {
      app.route = 'artworks';
    });

//my new routing def. <<<<<<<<
    page('/artworks', function () {
      app.route = 'artworks';
    });

    page('/users/:name', function (data) {
      app.route = 'user-info';
      app.params = data.params;
    });

    page('/contact', function () {
      app.route = 'contact';
    });

    // add #! before urls
    page({
      hashbang: true
    });

  });

据我了解,page.js 将 app.route 设置为某些值,聚合物铁页使用 app.route 至 select 右侧部分显示 selected="{{route}}" 代码是这样的:

<iron-pages attr-for-selected="data-route" selected="{{route}}">
  <section data-route="home">home section</section>
  <section data-route="users">users section</section>
  <section data-route="artworks">artworks section</section>
  <section data-route="user-info">user-info section</section>
  <section data-route="contact">contact section</section>
</iron-pages>

到底是什么问题!? 好吧,当我使用 localhost:8000/artworks 时,page.js 不会将其更改为 localhost:8000/#!/artworks,但它对每个其他路由地址(如 localhost:8000/userslocalhost:8000/contact 做同样的事情 结果,Web 浏览器将在 localhost:8000/artworks 文件夹中搜索该文件,但没有找到任何内容,因此会出现 404 错误。

我现在无法理解。我在这里错过了什么? 任何的想法?

不确定这是否可行,但使用基于您的端口的相对地址可能会有所帮助。 例如尝试类似 app.route = window.location.protocol + '//' + window.location.hostname + ":8000" + window.location.pathname + "home";

我不知道为什么,但似乎 Polymer 根本没有读取路由文件!所以我只是将路由代码复制粘贴到我的 app.js 文件中,现在一切正常!

所以现在我的 app.js 的所有路由代码都在末尾,我还在 index.html(Polymer 应用程序的主文件)的头部附加了 page.js

我不知道为什么,但现在可以了。

我遇到了同样的问题,看来是缓存的问题; routing.html 页面已被导航器缓存,因此看不到新路线。 清除缓存解决了我的问题。 希望这对您有所帮助!