2012-03-02 42 views
1

這裏有一個的jsfiddle鏈接:http://jsfiddle.net/Qt972/emberjs行動event.target是未定義

當你運行你會看到一個名字和一個按鈕,使「人」的小提琴聲招呼。這工作正常,但「事件」未定義。

一個甚至simpeler情況下,也失敗:

http://jsfiddle.net/CCg2K/1/

有誰知道我該如何解決這個問題?

+0

出於一致性的目的,我想你應該更新你的提琴的使用餘燼具體的0.9.5版本,而不是燼,最新的,因爲代碼在你的例子中將實際上與下一個發佈的燼:)。在我的答案中查看UPDATE。 – pangratz 2012-03-02 12:27:23

回答

8

當您在動作回調中執行console.log(arguments)時,您可以看到實際上傳遞了3個參數。第一個是觀點,第二個是事件,第三個是背景。

你可以重寫你的編輯操作是這樣的:

edit: function(view, event, context) { 
    var target = event.target; 
    ... 
} 

UPDATE:因爲提交657a2664 - 在釋放0.9.6可我猜想 - 只有一個event參數傳遞具有視圖和上下文作爲屬性。所以,如果你想訪問這些,你必須做到以下幾點:

edit: function(event) { 
    var view = event.view; 
    var context = event.context; 
    ... 
} 
+0

console.log(參數)我不知道。謝謝! – MrHus 2012-03-02 10:30:17

+0

僅供參考,Ember.js版本0.9.6已發佈https://github.com/emberjs/ember.js/commit/9b9f40f7d4b95a2b19b3f01e7a8391b873746201 – pangratz 2012-03-31 09:02:19