状態マネージャーでビューを切り替えるのに問題があります。最初にログイン画面を表示するステート マシンがあり、ユーザーが認証されると、ステート マシンは承認済みの状態に移行し、ワークスペースまたはダッシュボードを表示します。問題は、ページを読み込んだときにログイン画面が表示されないため、何か不足していると思われることです。私はemberjs 0.9.7.1を使用しています
ここに画面を追加したいdivがあります
<body>
<div id="main-container" class="container">
</div>
</body>
これは、login_view.handlerbars ファイルのコア html スニペットです (他にもありますが、簡潔にするために省略しました)。これがコンパイルされ、Ember.TEMPLATES['login_view'] に保存されていることがわかります。
<form class="form-inline">
<fieldset>
<input type="text" name="email">
<input type="password" name="password">
<button id="sign-in-button" class="btn btn-primary">Sign In</button>
</fieldset>
</form>
関連するビューの JavaScript ファイルは次のとおりです。
App.LoginView = Ember.View.extend({
templateName: 'login_view'
});
最後に、これが私のステート マシンです。コンソールに「認証されていない状態に入る」というメッセージが表示されますが、指定された div 内にログイン html が埋め込まれていません。
App.sessionStates = Ember.StateManager.create({
rootElement: '#main-container',
initialState: 'unauthorized',
unauthorized: Ember.ViewState.create({
viewClass: App.LoginView,
enter: function(stateManager, transition) {
console.log("Entering unauthorized state");
},
exit: function(stateManager, transition) {
console.log("Exiting unauthorized state");
}
}),
authorized: Ember.ViewState.create({
view: App.WorkspaceView
})
})
乾杯