Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ember.js-向视图动态添加组件_Jquery_Ember.js - Fatal编程技术网

Jquery Ember.js-向视图动态添加组件

Jquery Ember.js-向视图动态添加组件,jquery,ember.js,Jquery,Ember.js,你好,谢谢你抽出时间回答我的问题 我希望能够动态地将元素(作为组件实现)添加到元素(我可以从视图中获取引用)中 我有以下代码: ... <script type="text/x-handlebars" id="components/team-effort"> <li> <button {{action remove}}>remove</button> </li> </script> ... <scri

你好,谢谢你抽出时间回答我的问题

我希望能够动态地将
  • 元素(作为组件实现)添加到元素(我可以从视图中获取引用)中

    我有以下代码:

    ...
    <script type="text/x-handlebars" id="components/team-effort">
      <li>
        <button {{action remove}}>remove</button>
      </li>
    </script>
    ...
    
    <script type="text/x-handlebars" data-template-name="projects">.
        <button {{action "addNewTeamEffort" target="view"}}>Add New Team</button><br />
        <ul id="teameffortul">
           {{team-effort}}
        </ul>  
    </script>
    
    App.TeamEffortComponent = Ember.Component.extend({
        didInsertElement: function(){
            console.log('didInsertElement - TeamEffortComponent');
        },
        actions: {
            remove: function(){
                this.remove();
                console.log('removed a component');
            }
        }
    });
    
    and finally the view:
    
        App.ProjectsView = Ember.View.extend({
        templateName: "projects",
        didInsertElement: function(){
            jQuery('.datepicker').datepicker();
        },
        actions: {
            addNewTeamEffort: function(){
                App.TeamEffortComponent.create().appendTo(jQuery('#teameffortul'));
                console.log('added team effort!');
            }
        }
    });
    
    当我有:

    addNewTeamEffort: function(){
                    jQuery('#teameffortul').append('<li>test</li>');
                    console.log('added team effort!');
                }
    

    它按预期工作,并且
  • 元素被附加到
    中。你能指出我的错误是什么吗?

    我通过添加
    模板名来实现这一点,具体如下:

    App.TeamEffortComponent = Ember.Component.extend({
        templateName: "components/team-effort",
        ...
    
    你可以看到一个正在工作的人


    希望这有帮助。

    嘿,斯科特!谢谢你的回答,伙计,它确实有效!然而,仍然在控制台中,我得到了相同的错误,即:断言失败:您不能附加到现有的Ember.View。考虑使用EMBE.CabuleVIEW。即使它添加了新的元素,我也对这个错误感到有点不安。你能发布一个简单的代码,用containerView代替我的方法吗?谢谢@德拉根是的,给我几分钟,我会看看我能做些什么。干杯,斯科特
    addNewTeamEffort: function(){
                    App.TeamEffortComponent.create().appendTo(jQuery('#teameffortul'));
                    console.log('added team effort!');
                }
    
    App.TeamEffortComponent = Ember.Component.extend({
        templateName: "components/team-effort",
        ...