如何在ember 2.x中通过控制器动作以编程方式添加组件

时间:2015-08-23 23:46:01

标签: ember.js ember-cli

我在

面临同样的问题

How to programatically add component via controller action 但是由于我使用的是ember cli,我无法这样做。 这是我的源代码

import Ember from "ember";
export default Ember.Component.extend({
    actions : {
        remove : function(){
            this.remove();
        },
        add : function()
        {
            Ember.AuthorNameComponent.create().appendTo($('#authors'));
        }
    },
});

当我尝试运行此代码时,我得到未定义的错误。组件名称也是作者名称。

任何帮助,如何通过编程方式创建组件?

1 个答案:

答案 0 :(得分:3)

您需要导入该组件,然后您不需要Ember Global。

import AuthorNameComponent from '../components/author-name-component'

另一种方法是拥有一个项目数组,并从中创建AuthorNameComponent列表。

{{#each items as |item|}}
    {{author-name name=item.name}}
{{/each}}