2013-08-17 59 views
0

我定義如下EmberJS linkTo工作,但不transitionTo

this.resource('projects', function() { 
    this.resource('project', { path: ':project_id'}, function() { 
     this.route('details'); 
     this.route('members'); 
    });  
    }); 

項目顯示的項目列表中的路由。在點擊一個項目時,我在ProjectsIndexRoute中轉換爲project.details。但該模型未設置爲已點擊的項目。但是,如果我創建一個鏈接使用linkToproject.details然後一切正常。

請參閱http://jsbin.com/ELaxigE/3/edit

回答

1

您錯過了模型。如果您要在open動作處理程序中記錄c,則會看到它未定義。在您的模板改變了...

{{action 'open' on='click'}} 

這個...

{{action 'open' this on='click'}} 
+0

好的..那是一個缺陷。 – Cracker

+0

你能告訴我,我寫了{{#linkTo'project.details'this}} {{name}} {{/ linkTo}}。但是沒有id =「project/details」的模板。爲什麼它不會拋出錯誤並渲染「項目」模板。奇怪地添加「項目/細節」不起作用!請參閱http://jsbin.com/ELaxigE/19/edit – Cracker

+0

問一個新問題:http://stackoverflow.com/questions/18292439/how-does-emberjs-select-template-for-a-route – Cracker

1

您的活動預計要傳遞的一個項目,但你沒有指定一個在動作助手。取而代之的{{action 'open' on='click'}},你需要做的:

{{action 'open' this on='click'}} 

(。此外,on='click'是不必要的這是默認的行爲)

0

兩個答案至今正確的地方從@LukeMelia & @JonathanTran,你需要爲您的action打電話提供model,但沒有人提供實際的證明,這裏是:http://jsbin.com/ELaxigE/18/edit

希望它有幫助。