我的应用程序具有与能够由用户来激活一些隐藏的元件的主视图。 像在手机上一个典型的边栏,从左侧的幻灯片英寸 或者说揭示了细节的车,当你点击就可以了。
在最初的那些隐藏要素的信息总是最新的,因为它们的内容是主要的应用程序模板映射。 所以,我的路线将不需要提供任何DOM。
该转换是基于JS。 但现在我想这些国家反映在URL中,为了得到一个一致的后退按钮行为。
我怎样才能做到这一点使用余烬框架?
更新 ,使其更清楚,我在说一下:
要烬我的理解触发路线有主要有两个副作用:
- 代表在URL中的新状态,使一致的浏览器历史记录的支持。
- 渲染操纵基于一些数据的DOM模板
在我的情况下,例如一个用户点击最小化的车,我需要:
- 代表在URL中的新状态,使一致的浏览器历史记录的支持。
- 执行我的
showCart()
JS功能(没有DOM的变化,没有模板渲染)
当用户现在轻敲浏览器后退按钮, closeCart()
应执行(基于URL中的状态进行的车是开放的信息的事实)。
您可以使用activate
和deactivate
方法从你的节目路线,进入或从您的路径退出时,需要了解:
App.ShowRoute = Ember.Route.extend({
activate: function() {
alert('Entering in show');
// here would be your showCart
},
deactivate: function() {
alert('Exiting from show');
// and here the closeCart
}
});
我创建了一个现场演示在这里,你看到这方面的工作。
问题是,在那里他们可以访问Windows这些幻灯片? 可他们只从单个位置在你的路线图来访问? 或者可以在用户点击它,不管他们是在什么看法? 如果他们从不同的角度点击它,你将它们移动回不同的路线,只是弹出窗口中的一些幻灯片?
如果他们只能从一个地方单击它,然后你可以只在特定路线的setupController代码添加到火JS滑出窗外。
setupController: function(){
Ember.run.scheduleOnce('afterRender', this, function(){
//run some js to slide out the window
});
}
老实说,如果他们可以在任何地方点击一个按钮,有滑出出现,我不会试图把它变成的URL。 虽然只是我的意见。