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



我正在尝试在 Ember 中的元素添加一个模板.js但似乎附加是目前唯一的选择。我正在使用 jQuery 向上遍历到单击的元素的父元素,然后想将模板添加到父元素after

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

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

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

谢谢

G

我找到了解决方案。不确定这是最好的方法,但它有效。我基本上将模板任意添加到某个地方(在这种情况下,紧跟在单击的链接之后),然后在插入元素后,我使用 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/

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

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

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

最新更新