2013-02-03 21 views
0

我有一個註冊表格Ember.js:提交表單

在我創造新的紀錄(與包含在註冊數據)的路由

App.SignupRoute = Ember.Route.extend({ 
    model:function() { 
    return App.Fence.createRecord({date:new Date()});}}); 
後訪問綁定到表單對象

在形式I成功檢查該記錄(圍欄)被綁定到表格元素

現在我想有一個保存按鈕,並在控制器的方法訪問數據

我想:

< a href="#" {{ action "addsignup" this}}>SignUp</a> 

< button type="button" {{action "addsignup" this}}>SignUp</button> 

控制器方法被調用,但我不能:-(

App.SignupController = Ember.ObjectController.extend({ 

    addsignup:function (fence) { 

    console.log(fence.name);   // => undefined 
    console.log(this.name);   // => undefined 
    console.log(fence.get("name")); // => undefined 
    console.log(this.get("name")); // => undefined 

如何訪問模型數據訪問柵欄實例在控制器方法?

非常感謝您的幫助!

+0

什麼是「這個」,如果你直接在模板中打印它? –

+0

你的行爲將通過context.this指針我相信,我會嘗試通過「內容」或沒有在你的行爲標籤,看看調試器,看看我得到什麼。 – machunter

+0

OMG ...謝謝@machunter ...你的答案導致了問題的真正原因:一個錯字:-(順便說一句,你使用這個參數還是參數(fence)並不重要,它是同一個對象。與this.content和fence.content一樣。 – user2016429

回答

1

默認情況下,操作通過視圖。與

{{action "addsignup"}} 

可以然後與

addsignup:function() { 
    var controller = this.controller; 
    var name = controller.name; 
} 

訪問的控制,從而它的成員通過傳遞的對象中的動作,可以在函數定義時定義相應的參數進行訪問。

希望這有助於,ph