我正在尝试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 == '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>
在我收到Ember代码的回复之前,它将运行#if App.user
。如果我有来自通话的用户,我可以以某种方式更改视图吗?
答案 0 :(得分:0)
我不确定我的问题是否有足够的细节,但我认为你想做的是:
if (code == 'success') {
App.user = App.User.create(user);
}
答案 1 :(得分:-3)
将此添加到您的ApplicationController:
layout :layout_switcher
private
def layout_switcher
user_signed_in? ? 'application' : 'logged_out'
end