在浏览器后退按钮应用程序上未调用“init”方法

On brower back button app `init` method not called

我通过将变量设置为 truefalse 来显示和隐藏 HTML 标签。它工作正常,但是当用户单击浏览器的后退按钮时,不会触发该方法。在我的路线中,我的 init 看起来像:

init(){
    this.controllerFor('auth-page').set('naviTab', true );
    console.log('init called')
},

如果刷新页面,它会起作用,但不能通过使用浏览器的后退或前进按钮。我该如何解决这个问题?

首先要确保写:this._super(...arguments),当覆盖 init (https://www.emberjs.com/api/ember/2.14/classes/Ember.Route/methods/init?anchor=init)

对于后退和前进事件,请查看路线的激活和停用事件 https://www.emberjs.com/api/ember/2.14/classes/Ember.Route/events?anchor=activate