在ember中将变量传递给模态

时间:2015-03-14 13:26:56

标签: ember.js

我正在关注Ember食谱,将路线渲染成模态:http://emberjs.com/guides/cookbook/user_interface_and_interaction/using_modal_dialogs/。这有效,但我不知道如何将变量传递给渲染视图。

具体来说,我希望将“用户/过滤器”路由加载到模式中,该模式可以访问jobTitles数组。这在我的应用程序路由中定义为this.store.find('jobTitle')。问题是这似乎无法从用户/过滤器控制器或模板访问。用户/过滤器路径似乎根本不运行,因为我使用render方法如下:

App.ApplicationRoute = Ember.Route.extend({
  actions: {
    openModal: function(modalName) {
      return this.render(modalName, {
        into: 'application',
        outlet: 'modal'
      });
    }
  }
});

如何将其传递到渲染模态?非常感谢。

1 个答案:

答案 0 :(得分:0)

一种可能性是将控制器传递给模态渲染函数:

App.ApplicationRoute = Ember.Route.extend({
    actions: {
        openModal: function(modalName, controller) {
            return this.render(modalName, {
                into: 'application',
                outlet: 'modal',
                controller: controller
            });
        }
    }
});

使用上面的代码调用路由模板中的openModal挂钩,并将路由的控制器名称(名称,而不是控制器本身)传递给它。这样您就可以访问控制器的所有属性。