【问题标题】:polymer app-route, how to route to a new page within same App聚合物应用程序路由,如何路由到同一应用程序中的新页面
【发布时间】:2017-10-03 10:10:33
【问题描述】:

我正在尝试导航到一个新页面(即,当我点击一个按钮时,它应该在应用程序中打开一个新页面)

这是第一页

<dom-module id="project-view">
<template>
            <app-location route="{{route}}" use-hash-as-path></app-location>
            <app-route 
             route="{{route}}" 
             pattern="/:name" 
             data="{{routeData}}" 
             tail="{{subroute}}">
            </app-route>

         <iron-selector selected="[[routeData.name]]" attr-for-selected="data-page">
           <a class="btn" data-page="Project" href="#/Project">Go to create project</a>
          </iron-selector>

            <iron-pages selected="[[routeData.name]]" attr-for-selected="name">
                <create-project name="Project" route="{{subroute}}"></create-project>
                </iron-pages>
        </main>
    </div>

    <div>

    </div>


</template>
<script>
    Polymer({
        is: 'project-view',
});
</script>
</dom-module>

所以现在当我单击“Go to create project”按钮时,创建项目会在同一页面中打开,而不是进入新页面。 Url 更改为 /#/Project 但它会在当前页面下方打开创建项目页面

create-project 只是一个简单的 html 表单页面。 我想打开创建项目,这样页面上只显示创建项目内容,而不是前一页内容与创建项目页面的融合

我可以导航到 create-project 吗? 有什么我想念的吗,或者甚至有可能

【问题讨论】:

标签: javascript polymer polymer-1.0 predix app-route


【解决方案1】:

Polymer 的app-route 就是这样设计的,可以与“单页应用程序”或 SPA 一起使用。如果愿意,您可以创建一个链接或按钮来显示一个完全独立的页面,而无需哈希。 /my-separate-page。但是您会在原来的基于 Polymer 的应用程序中从内存中丢失所有内容。

【讨论】:

  • 感谢@gstroup 的回复,但我以某种方式想到使用 px-view(而不是使用 iron-pages)来做到这一点,因为我通过设置“route.path”属性来静态加载页面并使用 window.location 将页面设置为我的页面 href 路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 2019-03-05
  • 1970-01-01
  • 2015-12-08
  • 1970-01-01
  • 2020-01-26
相关资源
最近更新 更多