2012-07-23 67 views
-1

我想要一个Ember视图来容纳一个Javascript对象。就像:带有js对象的Ember.js

var foo = function(){ 
    function bar(){ 
    alert("Hi"); 
    }; 
}; 

MyApp.MyView = Ember.View.extend({ 
    boo: new foo(); 
}); 

MyApp.MyView.boo.bar(); 

回答

1

我不知道你的问题是什么。也许你可以用一个问题的形式来形容它。

虽然有一些提示。

  1. 您应该小心在类定义中创建引用类型值,因为该类的所有实例都将共享相同的引用。在您的示例中,MyApp.MyView的每个实例都将共享相同的boo对象。
  2. 在你的例子中,你还没有创建视图,只是建立一个视图类。做:MyApp.myView = MyApp.MyView.create().append()应该建立一个视图,并将其插入DOM。
  3. 当对象链中的参考值很深时,使用Ember的getPath/setPath非常方便,因为它们带来了安全级别。例如:
if(typeof MyApp.getPath('MyView.boo.bar') === 'function') { 
    MyApp.getPath('MyView.boo').bar(); 
}