我从聚合物1.0开始,并创建了一个新的路径终点,如下所述。
page('/users/:name', scrollToTop, function(data) {
app.route = 'user-info';
app.params = data.params;
});
所以,如果我去用户/ bob,它将转到" user-info"
在我的index.html中,路由定义如下
<section data-route="user-info">
<web-homepage></web-homepage>
</section>
其中web-homepage是自定义元素。
自定义元素定义如下
<dom-module id="web-homepage">
<template>
This is homepage
</template>
<script>
(function() {
'use strict';
Polymer({
is: 'web-homepage',
ready:function() {
//want to get the route parameters (eg: bob) here
}
});
})();
</script>
</dom-module>
有没有办法获得价值路线参数&#34;:name&#34;即准备功能内的bob?
答案 0 :(得分:1)
ready
函数。如果你在那里访问路径参数,它很可能是null / empty / undefined。
但是,您可以将路径参数传递给元素,如下所示。
params
中的app.params
是app的属性。您只需将其传递给子元素即可。
index.html应该看起来像这样
<section data-route="user-info">
<web-homepage route-params=[[params]]></web-homepage>
</section>
在web-homepage中定义route-params
<dom-module id="web-homepage">
<template>
This is homepage
</template>
<script>
(function() {
'use strict';
Polymer({
is: 'web-homepage',
properties: {
routeParams: {
type: Object,
observer: '_routeParamsChanged'
}
},
ready:function() {
//ready function is run during element creation. route-params will most likely be empty/null/undefined
//Just random
//want to get the route parameters (eg: bob) here
},
_routeParamsChanged: function(newValue) {
console.log('route params: ', newValue);
}
});
})();
</script>
</dom-module>