我正在尝试在 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");