Ember.js后插入而不是追加/ To

时间:2012-08-07 23:43:12

标签: jquery ember.js

我正在尝试在Ember.js中的元素之后添加模板,但似乎是追加是现在唯一的选择。我正在使用jQuery遍历一个被点击的元素的父元素,然后想要添加模板after父元素。

像这样导航:$(this).closest("li").after()

但是Ember.js的附件不起作用,因为我只能在父li中添加模板。

我遇到了这个拉取请求:https://github.com/emberjs/ember.js/pull/627会实现insertAfter()方法,但由于这不在主分支中,我想知道是否还有其他方法可以做到这一点?

谢谢,

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。不确定这是最好的方法,但它的工作原理。我基本上是在任意地添加模板(在这种情况下,在点击的链接之后)然后在插入元素之后我使用jQuery使用$()移动它:

$(".commentReplyLink").live("click", function(){

    var new_reply_template = Ember.View.create({
      templateName: 'new_reply_template',
      didInsertElement: function() {
        this.$().closest("li").after(this.$());
      }
    });

    new_reply_template.appendTo($(this).after());

});

以下是一个有效的例子:http://jsfiddle.net/givp/tnQJf/28/

答案 1 :(得分:-2)

您正在寻找的是place()函数。

http://uxebu.github.com/embedjs/docs/#place

// place(node, refNode, position)
embed.place("someNode", "anotherNode", "after");