There are a few things you can do here.
In the simplest case, you can simply check the value in the pageChanged handler. If the page does not exist, refresh it:
pageChanged: function(){ var foundPage = this.$.pages.querySelector('#' + this.page); if (! foundPage) { this.page = 'error' } ...
See: http://jsbin.com/xequvone/14/edit
If you do not bind core-menu directly to core-animated-pages , you can add whatever logic you want. The next version does the same as the previous one, but uses a separate variable for the selected page:
http://jsbin.com/xequvone/12/edit
I think you need a router if your URL scheme is more complex. For example, if the hash includes several levels and parameters, such as #people , #/people/search or #/people/edit/12343 .
source share