我在Ember中構建了一個登錄表單。Emberjs在視圖中重定向
App.Router = Ember.Router.extend( // states here);
然後,我有以下看法使用{{行動「submitLogin」}}
App.SignInView = Ember.View.extend
templateName: 'signin'
submitLogin: (event) ->
login = @getPath('email.value')
password = @getPath('password.value')
console.log "Login: " + login + " Password: " + password
// how do I redirect to a different state? I.e. "loggedIn"
submitLogin從模板觸發當你從這個片段看到,我想檢查用戶名/密碼,然後顯示Web應用程序的「私人」區域。這裏最好的做法是什麼?
所以基本上這意味着所有事件,之後我改變應用程序的狀態應傳遞給路由。本來我期待這個由控制器處理。 – 2012-08-05 08:14:31
事實上,我的理解是事件處理大部分被包含在視圖(而不是控制器)中,甚至我的印象是擴展Ember.View的目的是處理事件。任何人都可以推薦任何「最佳做法」類型的規則? – dechov 2012-08-05 11:26:08
@AndreiVaranovich控制器旨在代理數據,幷包含增值的原語,但路由器狀態應始終從其自身內部進行修改。 – 2012-08-05 13:49:48