無法解決以下問題。無論我嘗試什麼,我都得到了Uncaught TypeError: Cannot read property 'send' of undefined
。我認爲它必須是itemsViewClass中的controllerBinding,但我認爲它是正確定義的。Emberjs:如何在ItemsViewClass中實現父視圖的動作
在下面的代碼中有兩個showMenu
操作。第一個工作,但itemsViewClass中的最後一個沒有。
請大家看看下面我的代碼(我只顯示相關代碼):
//views/menu.js
import Ember from "ember";
var MenuitemsView = Ember.View.extend({
template: Ember.Handlebars.compile('<div{{action "showMenu" target="view"}}>this works already</div>\
much more code here'),
contentBinding: 'content',
itemsView: Ember.CollectionView.extend({
contentBinding: 'parentView.subCategories',
itemViewClass: Ember.View.extend({
controllerBinding: 'view.parentView.controller', // tried to add controllerBinding but did not help
// this is where the question is all about
template: Ember.Handlebars.compile('<div {{action "showMenu" target="parentView"}}>dummy</div>')
}),
actions: {
showMenu: function(){
// dummy for testing
console.log('showmenu itemsView');
}
}
}),
actions: {
showMenu: function() {
console.log('showMenu parentView!'); // how to reach this action?
}
}
});
export default MenuitemsView;
我與{{action "showMenu" target="view"}}
和無目的的測試。這似乎沒有幫助。
有人有線索爲什麼第二個showMenu動作無法到達?
你的語法是有點混亂。故意裏面你的行動功能看法?如果是這樣,這將是導致問題的第一件事。 –
@Fishbowl,感謝您的評論。是的,我有地方特意行動我的觀點裏,我可以用到'{{行動「showMenu」}} '稱,雖然只有第二個將無法正常工作,無論我嘗試,但你覺得什麼是調用從視圖中的一個行動的最佳方法是什麼? – DelphiLynx
我下面添加一個完整的響應,因爲它比多一點的解釋將適合在評論:) –