动态在ContainerView中添加组件时遇到问题

迪文德拉·史瑞莎(Deewendra Shrestha)

我在应用程序级别有一个容器视图,我想通过一些操作向该容器视图添加一些组件。我这样做的方式是:

1)我将一些对象推送到应用程序控制器

2)ContainerView在应用程序控制器的上下文内,因此我观察了保存步骤1中提到的对象的数组的长度

3)然后创建组件并将它们附加到容器视图

我注意到的一件奇怪的事情是,最初在容器视图中定义的观察者没有被触发,但是后来我在控制器上记录了初始化钩子,然后观察者开始为我工作。这告诉我也许我做的不对。这是我的容器视图:

App.MyContainerView = Ember.ContainerView.extend({
    initialize: function(){
        //IF YOU WERE TO COMMENT THIS CONSOLE.LOG THEN THE OBSERVER NEVER GETS HIT WHEN YOU CLICK ON ADD BUTTON. MAYBE CONTROLLER IS NOT SET UP AND IT NEEDS SOME TIME???
        console.log(this.get('controller').toString());
    }.on('init'),

    appendMyComponent: function(){
        console.log("inside the observer");
        this.get('controller.myComponents').forEach(function(comp){
        console.log(this.toString());
        this.pushOject(App.MyTestComponent.create({}));
        }, this);
    }.observes('controller.myComponents.length')
});  

我是否必须使用命名的插座,然后在插座内渲染容器视图?不知道我在这里做错了什么。

这是一个jsbin:http ://emberjs.jsbin.com/xamoxese/2/

非常感谢您的反馈。谢谢好人的stackoverflow。

使用 :

灰烬:1.5.0把手:1.3.0 jQuery:1.10.2

好吧,还有更多更新,尽管@bmeyers提供的解决方案最初在jsbin中有效,但对我来说却不起作用。因此,在我的真实应用中,mu application.hbs看起来像这样:

{{outlet navbar}}
{{outlet}}
{{outlet modal}}
{{view App.MyContainerView}}

但后来我将其重新排序为:

{{view App.MyContainerView}} 
{{outlet navbar}}
{{outlet}}
{{outlet modal}}

然后解决方案起作用了。现在,只有当我可以摆脱console.log的问题时:)这是我在@bmeyers解决方案http://emberjs.jsbin.com/xamoxese/10/上添加的已更新的jsbin。

梅耶尔

我已为您修复此问题,并在此处显示了示例:http : //emberjs.jsbin.com/xamoxese/3/edit?html,css,js,output

我没有解决您要一遍又一遍地添加相同组件并且从不清除childView数组的问题,但这也许是您的意图。

基本上,您没有推送到容器视图,而是需要推送到childViews属性。

希望这对您有所帮助!

已修复更新

http://emberjs.jsbin.com/xamoxese/6/edit

好的,看起来您只是需要在foreach函数之外的引用,并且出于某种原因,允许以记录方式使用它

更新2 ::将containerView代码更改为...。

App.MyContainerView = Ember.ContainerView.extend({
  init: function() {
    this._super();
    this.appendMyComponent();
  },

  appendMyComponent: function(){
      this.get('controller.myComponents').forEach(function(comp){
        this.pushObject(App.MyTestComponent.create({}));
    }, this);
  }.observes('controller.myComponents.length')
});    

这比创建一个永远不会使用的空视图要干净一些。挑剔的我知道,但它困扰着我。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MongoDB在使用动态键在嵌套文档中添加两个值时遇到问题

来自分类Dev

在将动画添加到jQuery中的动态元素时遇到问题

来自分类Dev

React,在 promise 中设置组件状态时遇到问题

来自分类Dev

在Xcode中添加图标时遇到问题

来自分类Dev

在Android Studio中添加图像源时遇到问题

来自分类Dev

我在创建VBA以便在ms-access中将数据动态添加到表中时遇到问题

来自分类Dev

将数组输出添加到 GAS Google Script 中动态生成的 HTML 字符串时遇到问题

来自分类Dev

我在将类组件中的功能转换为功能时遇到问题

来自分类Dev

我在JSX React组件中获取数据时遇到问题

来自分类Dev

在Om中使用递归组件时遇到问题吗?

来自分类Dev

在Om中使递归组件工作时遇到问题吗?

来自分类Dev

尝试使用 RXJS 制作动态列表时遇到问题

来自分类Dev

如何在QML中动态添加组件?

来自分类Dev

在Xcode cocos2d中添加多个物理对象时遇到问题

来自分类Dev

在“设计”注册表单中添加“自定义”字段时遇到问题

来自分类Dev

在Xcode cocos2d中添加多个物理对象时遇到问题

来自分类Dev

将MongoDB文档添加到控制器中的数组时遇到问题

来自分类Dev

从队列中删除并添加到另一个队列时遇到问题

来自分类Dev

在Cordova / PhoneGap应用程序中添加平台时遇到问题?

来自分类Dev

在 React 中手动添加“其他”选项时遇到问题。是什么赋予了?

来自分类Dev

尝试在 jQuery 中向图像添加类时遇到问题

来自分类Dev

添加pip的系统环境变量时遇到问题

来自分类Dev

在向项目添加gridlayout支持库时遇到问题?

来自分类Dev

将PrimeFaces添加为EAR的库时遇到问题

来自分类Dev

添加SlugField字段类型时遇到问题(Django 1.6.3)

来自分类Dev

在将JPanel添加到JFrame时遇到问题

来自分类Dev

使用efibootmgr添加UEFI条目时遇到问题

来自分类Dev

在向项目添加gridlayout支持库时遇到问题?

来自分类Dev

在将JPanel添加到JFrame时遇到问题

Related 相关文章

  1. 1

    MongoDB在使用动态键在嵌套文档中添加两个值时遇到问题

  2. 2

    在将动画添加到jQuery中的动态元素时遇到问题

  3. 3

    React,在 promise 中设置组件状态时遇到问题

  4. 4

    在Xcode中添加图标时遇到问题

  5. 5

    在Android Studio中添加图像源时遇到问题

  6. 6

    我在创建VBA以便在ms-access中将数据动态添加到表中时遇到问题

  7. 7

    将数组输出添加到 GAS Google Script 中动态生成的 HTML 字符串时遇到问题

  8. 8

    我在将类组件中的功能转换为功能时遇到问题

  9. 9

    我在JSX React组件中获取数据时遇到问题

  10. 10

    在Om中使用递归组件时遇到问题吗?

  11. 11

    在Om中使递归组件工作时遇到问题吗?

  12. 12

    尝试使用 RXJS 制作动态列表时遇到问题

  13. 13

    如何在QML中动态添加组件?

  14. 14

    在Xcode cocos2d中添加多个物理对象时遇到问题

  15. 15

    在“设计”注册表单中添加“自定义”字段时遇到问题

  16. 16

    在Xcode cocos2d中添加多个物理对象时遇到问题

  17. 17

    将MongoDB文档添加到控制器中的数组时遇到问题

  18. 18

    从队列中删除并添加到另一个队列时遇到问题

  19. 19

    在Cordova / PhoneGap应用程序中添加平台时遇到问题?

  20. 20

    在 React 中手动添加“其他”选项时遇到问题。是什么赋予了?

  21. 21

    尝试在 jQuery 中向图像添加类时遇到问题

  22. 22

    添加pip的系统环境变量时遇到问题

  23. 23

    在向项目添加gridlayout支持库时遇到问题?

  24. 24

    将PrimeFaces添加为EAR的库时遇到问题

  25. 25

    添加SlugField字段类型时遇到问题(Django 1.6.3)

  26. 26

    在将JPanel添加到JFrame时遇到问题

  27. 27

    使用efibootmgr添加UEFI条目时遇到问题

  28. 28

    在向项目添加gridlayout支持库时遇到问题?

  29. 29

    在将JPanel添加到JFrame时遇到问题

热门标签

归档