Javascript 如果登录,Ember.js会显示不同的视图
我正在尝试(以前是SproutCore)。API调用后如何更改视图Javascript 如果登录,Ember.js会显示不同的视图,javascript,ember.js,Javascript,Ember.js,我正在尝试(以前是SproutCore)。API调用后如何更改视图 App.userController = Ember.ArrayController.create({ loadUser: function () { var self = this; $.post("/api/user/auth/", {user:'user',password:'pass'},function(user,code){ if (code == 's
App.userController = Ember.ArrayController.create({
loadUser: function () {
var self = this;
$.post("/api/user/auth/", {user:'user',password:'pass'},function(user,code){
if (code == 'success') {
App.User.create(user);
}
});
}
});
App.userController.loadUser();
我的看法是:
<script type='text/x-handlebars'>
<div class='span10'>
{{#if App.user }}
<h1>User</h1>
{{else}}
<h1>no User </h1>
{{/if}}
</div>
</script>
{{{#if App.user}
使用者
{{else}
没有用户
{{/if}
它将运行
#if App.user
,然后我才能从余烬代码中得到响应。如果我从呼叫中获得了用户,是否可以更改视图?将此添加到您的应用程序控制器:
layout :layout_switcher
private
def layout_switcher
user_signed_in? ? 'application' : 'logged_out'
end
我不确定你的问题是否有足够的细节,但我认为你想做的是:
if (code == 'success') {
App.user = App.User.create(user);
}
嗯,一个javascript问题的ruby答案?如果你能提供一个JSFIDLE来解答你的问题,我将非常乐意为你介绍。你可以把它作为一个起点。