Polymer 从自定义元素更新路由

Polymer 从自定义元素更新路由,polymer,Polymer,完整的Polyer noob正在尝试编写一个简单的小聚合物应用程序 我试图做的是从一个自定义元素(客户机表)驱动我的iron页面导航,但不知道如何做到这一点 我已经尝试过在表中对selected和selected属性使用attr的各种排列方式,但这似乎不起作用。我还尝试在纸张按钮周围设置一个锚定标记,几乎可以正常工作,但它会触发整个页面刷新,并且在加载页面时不会显示我的#clientInfo部分 关于如何实现这一点的任何建议,指向更好地解释聚合物布线/导航的文档的链接(特别是在使用自定义元素的情

完整的Polyer noob正在尝试编写一个简单的小聚合物应用程序

我试图做的是从一个自定义元素(客户机表)驱动我的iron页面导航,但不知道如何做到这一点

我已经尝试过在表中对selected和selected属性使用attr的各种排列方式,但这似乎不起作用。我还尝试在纸张按钮周围设置一个锚定标记,几乎可以正常工作,但它会触发整个页面刷新,并且在加载页面时不会显示我的#clientInfo部分

关于如何实现这一点的任何建议,指向更好地解释聚合物布线/导航的文档的链接(特别是在使用自定义元素的情况下),我应该检查的任何默认聚合物元素的来源,等等

<!-- snippet from index.html -->
<iron-pages attr-for-selected="data-route" selected="{{route}}">
    <section data-route="home">
      <paper-material elevation="1">
        <h2>Clients</h2>
        <client-table></client-table>
           <a data-route="clientInfo" href="/">test</a>
      </paper-material>
    </section>

    <section data-route="clientInfo">
      <paper-material elevation="1">
        <h2></h2>
        <p>This is the users section</p>
        <a href="/users/Rob">Rob</a>
      </paper-material>
    </section>
</iron-pages>

<!-- snipped from client-table.html -->
buildTable: function() {
    var domTable = this.$.table;
    var tableData = this.parseTableJson(this.buildTableJson());
    var tableMarkup = this.buildTable_initTable() + "<tbody>";

    for (var index in tableData) {
        row = tableData[index];

        var rowMarkup = "<tr>";
        rowMarkup += "<td>" + row.clientFirstName + "</td>";
        rowMarkup += "<td>" + row.clientLastName + "</td>";
        rowMarkup += "<td>" + row.clientEmail + "</td>";
        rowMarkup += "<td>" + row.clientPhone  + "</td>";
        rowMarkup += "<td>" + row.clientZipCode  + "</td>";
        rowMarkup += "<td><paper-button><iron-icon icon='card-membership'></iron-icon></paper-button></td>";
        rowMarkup += "</tr>";

        tableMarkup += rowMarkup;
    }
    tableMarkup += "</tbody>";

    $(domTable).append(tableMarkup);
}

客户
这是用户部分

buildTable:function(){ var domTable=此.$表; var tableData=this.parseTableJson(this.buildTableJson()); var tableMarkup=this.buildTable_initTable()+“”; for(tableData中的var索引){ 行=表格数据[索引]; var rowMarkup=“”; rowMarkup+=“”+row.clientFirstName+“”; rowMarkup+=“”+row.clientLastName+“”; rowMarkup+=“”+row.clientEmail+“”; rowMarkup+=“”+row.clientPhone+“”; rowMarkup+=“”+row.clientZipCode+“”; 行标记+=“”; 行标记+=“”; tableMarkup+=行标记; } tableMarkup+=“”; $(domTable).append(tableMarkup); }
然后我发现
routing.html

除了发现Polymer Starter Kit()使用Page.js()并通过Page.js正确配置路由之外,这篇Stackoverflow文章帮助我克服了最后一个障碍:另外,查看源代码到熨斗页面和熨斗选择行为也有帮助。