我正在尝试构建一个 Android action bar-like Ember 中的导航栏。我希望操作栏显示路线(友好)名称,并在右侧有上下文相关的按钮。我走了很长一段路,这个 jsFiddle 会更清楚地解释事情:
但是,激活事件并不是我用来确定路线何时更改的,而是仅在第一次访问路线时触发(遍历路线树不会触发它),因此我的上下文加载不一致。
解决这个问题的最佳方法是什么?我知道 serialize
、renderTemplate
和 setupController
在每次路由更改时都会触发,但这些方法都不是以这种方式使用的。有没有办法向我的路线添加自定义事件,该事件会在每次路线更改时触发?
顺便说一句,我对 ember 完全陌生,所以我可能会以完全错误的方式处理这个问题,在这种情况下,我渴望听到一个比我的更好的解决方案。
更新:
感谢 kingpin2k 的提示,我能够稍微清理一下我的代码,以供将来引用,这是更新的 fiddle :
最佳答案
didTransition
/willTransition
正是出于这个原因而创建的。在你的情况下 didTransition
是最有意义的。
actions: {
didTransition: function(){
console.log('level two transition');
},
}
关于javascript - 上下文相关的导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23973236/