javascript - Ember.js:如何创建仅执行代码的路由

标签 javascript ember.js transition

我的应用程序有一个主视图,其中包含一些可由用户激活的隐藏元素。就像手机上典型的侧边栏从左侧滑入一样。或者当您点击时会显示详细信息的购物车。

这些最初隐藏的元素中的信息始终是最新的,因为它们的内容已映射到主应用程序模板中。所以我的路线不需要渲染任何 DOM。

转换是基于 JS 的。但现在我希望这些状态能够反射(reflect)在 URL 中,以获得一致的后退按钮行为。

如何使用 ember 框架实现这一目标?

更新以使其更清楚,我在说什么:

据我了解,在 ember 中触发路由主要有两个副作用:

  1. 在网址中表示新状态,从而实现一致的浏览器历史记录支持。
  2. 根据某些数据操作 DOM 的渲染模板

就我而言,例如,当用户点击我需要的最小化购物车时:

  1. 在网址中表示新状态,从而实现一致的浏览器历史记录支持。
  2. 执行我的 showCart() JS 函数(没有 DOM 更改,没有模板渲染)

当用户现在点击浏览器后退按钮时,应执行 closeCart() (基于 URL 中的状态携带购物车已打开的信息这一事实)。

最佳答案

问题是,他们可以在 Windows 中哪里访问这些幻灯片?它们只能从路线图中的单个位置访问吗?或者,无论用户处于哪个 View ,都可以单击它吗?如果他们从不同的 View 中单击它,您是否会将他们移回到不同的路线,只是为了在窗口中弹出一些幻灯片?

如果他们只能从一个地方单击它,那么您只需在该特定路线的 setupController 中添加代码即可触发 js 滑出窗口。

 setupController: function(){
   Ember.run.scheduleOnce('afterRender', this, function(){
    //run some js to slide out the window
    });
 }

老实说,如果他们可以在任何地方单击按钮并显示幻灯片,我不会尝试将其放入网址中。只是我的意见。

关于javascript - Ember.js:如何创建仅执行代码的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111466/

相关文章:

ember.js - emberjs new-router-V3/controller 无法使用 ember-data 创建或编辑记录

Ember.js 新路由器自定义 slug 用法

javascript - Safari 在转换期间意外地随机发光

javascript - D3 多线图表与工具提示转换问题

css - 如何在 CSS 中添加多个图像?

javascript - 根据所选按钮显示 div

javascript - 回调函数和辅助函数之间的区别

javascript - 如何在 Jquery 中的 .Off() 之后 .On() 一个事件

javascript - Angularjs 项目列表的 UI 路由器

javascript - 找不到变量 : DS in Ember CLI