假设我有以下DOM:
<div id="container">
<div id="created-by-other-tools">I want this to be my child</div>
</div>
div“容器”来自Ember.ContainerView:
container = Ember.ContainerView.create {
elementId: 'container'
}
div“由其他工具创建”来自另一个与Ember没有任何关系的javascript代码:
newDiv = document.createElement('div')
container.appendChild(newDiv)
是否可以将此newDiv与我的容器的子视图相关联?我想要这样的事情:
child = Ember.View.create()
Ember.set(child,'element',newDiv)
我的想法是用我的子视图处理newDiv的事件。
答案 0 :(得分:3)
我使用KinectJS和Ember.js创建了一个示例,请参阅http://jsfiddle.net/pangratz666/e6Dfh/
Ember.View.create({
didInsertElement: function() {
var id = this.get('elementId');
var stage = new Kinetic.Stage({
container: id,
width: 578,
height: 200
});
var layer = new Kinetic.Layer();
...
}
}).append();
另请查看此博文:http://blog.sproutcore.com/using-raphael-js-with-sproutcore-2-0/。所有这些都是为SproutCore 2.0编写的,它可能对你有帮助。