how can I invoke an ember component dynamically via a variable?

前端 未结 4 546
感动是毒
感动是毒 2020-12-01 09:36

Lets say I have an array of widget objects on my controller and each widget object has member variable that is assigned the name of a component class. How can I get my temp

4条回答
  •  爱一瞬间的悲伤
    2020-12-01 10:27

    If you are using Ember CLI and Coffeescript here is a version for that. Create the following file in app/helpers/render-component.coffee:

    renderComponent = (componentPath, options)->
      helper = Ember.Handlebars.resolveHelper(options.data.view.container, componentPath)
      helper.call this, options
    
    `export { renderComponent }`
    `export default Ember.Handlebars.makeBoundHelper(renderComponent)`
    

    From there, you can call {{render-component "foo-bar"}} from a template.

    Since the Ember ecosystem is ever changing, here is the version I tested it on:

    • Ember-CLI v0.0.43
    • Ember v1.7.0
    • Handlebars 1.3.0

提交回复
热议问题