【问题标题】:How do I render a template into a global component/outlet如何将模板渲染到全局组件/插座中
【发布时间】:2015-10-06 05:16:07
【问题描述】:

我有一个关于将路由渲染到组件/插座的问题。

我想要一个位于应用程序模板中的组件,其作用类似于模态/弹出框。

在渲染路由时,我想将模板渲染到组件中,当内容发生变化时,在组件中运行一些打开/关闭popover的逻辑。

我希望有人能启发我如何去做这件事?

目前我在应用程序模板中有一个组件,其中有一个命名的插座(见下文)。我可以将路由渲染到那个命名的出口,但我不知道如何在内容发生变化时获取内容的变化。点击不同的链接会改变那个插座的内容。

有什么想法吗?一种更好的方式来完成我想做的事情?

app/templates/application.hbs

{{#primary-popover}}
  {{outlet 'primary-popover'}}
{{/primary-popover}}

/app/profile/route.js

import Ember from 'ember';

export default Ember.Route.extend({

  renderTemplate() {
    this.render('profile', {
      outlet: 'primary-popover'
    });
  }
});

【问题讨论】:

    标签: ember.js components outlet


    【解决方案1】:

    我认为解决您的问题的最佳方法是使用liquid-fire http://ef4.github.io/liquid-fire/#/modals。它是 ember 核心团队库推荐的,也得到了很好的支持。它有很好的模态组件,可以通过link-to 组件或this.transitionTo 以编程方式触发。

    【讨论】:

      猜你喜欢
      • 2014-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多