簡體   English   中英

Polymer + page.js帶有紙屑的Flash通知

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM