2013-04-17 30 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

相關問題