Adi*_*kul 5 polymer polymer-1.0 polymer-starter-kit
我想制作单页应用程序.当我去路径时localhost/person-info/101,如何使用page.js将URL参数转换为Polymer元素?
person-info在使用neon-animated-page更改页面之前,我必须使用这些参数来选择或更改元素中的数据
内容app.js:
window.addEventListener('WebComponentsReady', function () {
var app = document.querySelector('#app');
page('/', home);
page('/person-info/:user', showPersonInfo);
page({
hashbang: true
});
function home() {
app.route = 'index';
console.log("app route" + app.route);
console.log("home");
}
function showPersonInfo(data) {
console.log(data);
console.log(data.params.user);
app.params = data.params;
app.route = 'person-info';
}
});
Run Code Online (Sandbox Code Playgroud)
还有我的Polymer元素 person-info.html
<link rel="import" href="bower_components/iron-list/iron-list.html">
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/paper-toolbar/paper-toolbar.html">
<link rel="import" href="bower_components/paper-icon-button/paper-icon-button.html">
<script type="text/javascript" src="bower_components/jquery-2.1.4.min/index.js"></script>
<script src="js/app.js"></script>
<dom-module id="person-info">
<style>
:host {
display: block;
font-family: sans-serif;
@apply(--layout-fit);
@apply(--layout-vertical);
}
.toolbar {
background: #3f78e3;
}
a {
color:#FFF;
}
</style>
<template id="person-info">
<paper-toolbar class="toolbar">
<a href="/">
<paper-icon-button icon="icons:arrow-back"></paper-icon-button>
</a>
<div>test</div>
<div>test</div>
</paper-toolbar>
<content></content>
</template>
<script>
Polymer({
is: 'person-info',
ready: function () {
console.log("person-info page");
this.testdd = "adisak";
console.log("user ---->"+this.params);
console.log(this);
},
properties: {
dataindex: String
}
});
</script>
</dom-module>
Run Code Online (Sandbox Code Playgroud)
小智 2
变量app是全局的,因此如果您从路由绑定数据app.params,则可以使用 app.params 在任何地方访问它。或者只需访问您的元素并设置元素的属性,如下所示
function showPersonInfo(data){
var personInfo=document.querySelector('person-info');
personInfo.user=data.params;
app.route = 'person-info';
}
Run Code Online (Sandbox Code Playgroud)
从您的 person-info 元素中,您可以通过使用进行访问,但我认为您需要在元素属性上this.user设置属性。user
| 归档时间: |
|
| 查看次数: |
5201 次 |
| 最近记录: |