我已經實現了這個像下面的暫時...似乎是好的,但如果任何人都可以建議改進讓我知道。
在routing.html
window.addEventListener('WebComponentsReady', function() {
// Assign page to another global object
LC.page = page;
// Define all routes through this new object
LC.page('/login', function() {
app.route = 'login';
app.scrollPageToTop();
});
....
//implement remaining routes
// page proxy... to intercept calls
page = function(path) {
// dispatch event
document.dispatchEvent(new Event('LC.pageChange', {path: path}));
// call the real page
LC.page(path);
};
});
然後,你要聽..在我的情況在lc-paper-toast
元素添加到index.html
文件的應用,現在我可以聽,當頁面改變的......
ready: function() {
document.addEventListener('LC.pageChange', function(e){
console.log('page change' , e);
}, false);
}
唯一需要注意的是所有頁面更改必須使用page('/route')
調用,否則它將不會通過代理。