2013-04-17 32 views
0

我想从事件处理程序中访问父视图,但是当我点击子视图文本时,出现this.parentView未定义的错误?? event.view.parentView也不起作用。如何访问子视图中的事件处理程序中的ParentView

<html> 
<head> 
</head> 
<body> 
<script src="js/libs/jquery-1.9.1.js"></script> 
    <script src="js/libs/handlebars-1.0.0-rc.3.js"></script> 
    <script src="js/libs/ember-1.0.0-rc.2.js"></script> 
    <script> 

     App = Ember.Application.create(); 

     App.ChildView = Ember.View.extend({ 
      template : Ember.Handlebars.compile("Child View {{ view.elementId }} parent={{ view.parentView.elementId}}"), 
      click:function(event){ 
       alert("parent="+this.parentView.elementId); 
      } 
     }); 


     App.TopView = Ember.View.extend({ 
      template : Ember.Handlebars.compile("Top View {{ view.elementId }} {{ view App.ChildView }}") 
     }); 

     var v = App.TopView.create(); 
     v.append(); 
    </script> 
</body> 
</html> 

回答

1

在余烬,目前,我们必须使用getset方法前读取或指定值的属性。

所以,你应该做的:

App.ChildView = Ember.View.extend({ 
    template : Ember.Handlebars.compile(
     "Child View {{view.elementId}} parent={{ view.parentView.elementId}}" 
    ), 
    click:function(event){ 
     alert("parent=" + this.get('parentView.elementId'); 
    } 
}); 
+0

完美..感谢了很多。一直在用我的头挠了一下头。 – user2290489

+0

不幸的是阅读和完全理解是不一样的。对我来说至少: - / – user2290489

相关问题