0

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

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

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

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

谢谢,

G

4

2 回答 2

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/

于 2012-08-09T17:24:17.863 回答
-2

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

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

// place(node, refNode, position)
embed.place("someNode", "anotherNode", "after");
于 2012-08-08T00:33:40.097 回答