[英]Polymer + page.js flash notifications with paper-toast
我正在使用Polymer構建一個中型應用程序,並使用Polymer Starter Kit啟動了使用page.js進行路由的事情。
我想使用paper-toast
元素實現Flash消息功能。
在其他技術/框架中,這是通過檢查更改路線時是否存在屬性來實現的。如果存在,它將加載相關的Flash / Toast消息。
如何使用Polymer&Page.js復制這種類型的功能? Page.js似乎沒有任何更改路線的事件。
我能想到的唯一方法是為每次要轉到新頁面然后調用實際page
函數時都必須調用的page('/route')
函數創建代理函數。 有沒有更好的辦法?
我暫時已經實現了以下步驟...似乎還可以,但是如果有人可以提出改進建議,請告訴我。
在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')
進行調用,否則它不會通過代理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.