在我的模板路由器行動:我如何通過PARAMS在ember.js
<a {{action doSomething someParam}}>my cool link</a>
在路由器
doSomething: function(jqEvent){
}
然而,jqEvent總是App.Router的一個實例。我希望傳入參數。我錯過了什麼?
謝謝。
在我的模板路由器行動:我如何通過PARAMS在ember.js
<a {{action doSomething someParam}}>my cool link</a>
在路由器
doSomething: function(jqEvent){
}
然而,jqEvent總是App.Router的一個實例。我希望傳入參數。我錯過了什麼?
謝謝。
你傳遞給{{action}}
不被視爲文字的參數;它們被視爲當前上下文中對象的關鍵字。
請參閱https://github.com/emberjs/ember.js/issues/1759和https://github.com/emberjs/ember.js/issues/1796。
因此,
{{action doSomething someProperty}}
會嘗試來查找someProperty
財產電流控制器上。
在RC1中,他們可以通過在他們周圍放置引號來傳遞文字。在這種情況下,我相信'someProperty'應該是'jqEvent'的一個實例。 – Wildhoney 2013-02-21 23:15:39
使用Ember的most recent version它工作得很好,所以我懷疑你使用的是舊版本的Ember。
的jsfiddle:http://jsfiddle.net/G4esk/
App.ApplicationRoute = Ember.Route.extend({
events: {
example: function(object) {
console.log(object.get('name'));
}
}
});
這是Ember的舊版本。不能幫助,我目前正在等待我們的Ember升級合併。 但這不是原因,儘管路由器將會改變。
它實際上是兩個部分,
當我在鉻控制檯中檢查參數時,我沒有看到它,因爲Chrome有一個優化(至少在控制檯中)剝離未使用的參數。這確實不是Ember的錯,但它肯定隱藏了發生的事情。
{{動作doSomething的someProperty}}
doSomething的:函數(路由器,jqEvent){ VAR someProperty = jqEvent.context; }
你用什麼版本的emberjs? – mavilein 2013-02-21 23:05:10