2017-02-28 6 views
1

場所を変更するときに耳を傾けて、サーバー上のWebSocketリクエストを呼び出してページの状態を更新できるようにします。ユーザーがバックボタンを押したときに 'location-changed'イベントが発生しない

私はlocation-changedイベントに耳を傾けています:私は私のページ上のハイパーリンクをクリックすると

app.listen(window, 'location-changed', '_updateScreen'); 

この火災:

<a href="new/location/">My link</a> 

私は戻るボタンをクリックした場合しかし、それは発生しません。私のブラウザでは...これはバグですか、何か間違っていますか?

<template is="dom-bind" id="app"> 
    <app-location route="{{route}}"></app-location> 
    <app-route route="{{route}}" pattern="/:page" data="{{data}}" tail="{{tail}}"></app-route> 
    <a href="new/location/">My Link</a> 
</template> 
<script type="module"> 
    "use strict"; 

    window.addEventListener('WebComponentsReady', (e) => { 
     app._updateScreen =() => console.log('update'); 
     app.listen(window, 'location-changed', '_updateScreen'); 
    }); 
</script> 

答えて

1

ボタンを押すと、バックするとき、それは発射場所変更イベントが、popstateイベントではありませんので、あなたは、両方のイベントに耳を傾ける必要があります。鉄の場所の例を確認してくださいhere line 146-147

+0

これは、コンポーネントとリダイレクトされたイベントに含める必要がありますように見えます。それにもかかわらず、これは私の質問に答えた - ありがとう。 – Cheetah

関連する問題