如何从嵌套路由更改资源/动态段?

时间:2013-07-19 17:28:55

标签: ember.js

如果用户正在查看airbnb,并且他们输入了“登记入住”日期,那么当他们搜索房屋并预订时,我如何在网址中保留这些信息?

我认为实现这一目标的最佳方法是拥有外部资源user_data。构成user_data资源的所有数据都将保存在动态段中。

但是,我不确定如何从任何嵌套资源和路由更改user_data资源(和动态段)。

这是我的路由器地图:

MockAirbnb.Router.map ->
  @route 'index',{ path: '/' }
  @resource 'user_data', { path: '/:user_data'}, ->
    @route 'search', { path: '/search'}
    @resource 'house',{ path: '/:house_id'}, ->
      @resource 'booking',{ path: '/booking'}

加分问题:

如何通过在预订页面中选择新日期立即更改user_data资源? (更改表单输入事件上的URL而不显示更改视图)

1 个答案:

答案 0 :(得分:0)

只需在嵌套控制器上创建一个绑定到UserDataController。像这样:

App.BookingController = Em.ObjectController.extend({
    needs: 'userData',
    checkInDateBinding: 'controllers.userData.checkInDate'
});

您的数据模型似乎有点尴尬,但应该这样做。