【发布时间】:2014-06-17 14:40:10
【问题描述】:
我有一个应用程序,我希望在其中创建用户配置文件小部件。小部件将位于应用程序模板的导航栏中。该小部件看起来像一个登录按钮,可弹出模式登录对话框或包含指向各种用户相关功能/路线的链接的下拉菜单。
到目前为止,小部件的逻辑是这样的:
{{#if 'user.loggedIn'}}
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="glyphicon glyphicon-user"/> {{user.username}}</a>
<ul class="dropdown-menu">
<li>{{#link-to "profile" user}}Profile{{/link-to}}</li>
<li>{{#link-to "logoff" user}}Logout{{/link-to}}</li>
</ul>
{{else}}
<button class="btn btn-primary navbar-btn" data-target="#loginModal" data-toggle="modal">Login</button>
{{/if}}
我希望有一个控制器处理登录功能并调用模态提示:
App.UserController = Em.ObjectController.extend({
loggedIn: Em.computed.readOnly('model.loggedIn'),
username: '',
password: '',
showLoginModal: function(){
Em.$("#loginModal").modal();
},
hideLoginModal: function() {
Em.$("#loginModal").modal('hide');
},
login: function() {
var username = this.get('username'),
success = true; //attempt a login
console.log('logging in as' + username);
if(success) {
this.send('hideLoginModal');
this.set('user.loggedIn', true);
}
return false;
}
});
所以我的问题是,使用小部件的 UserController 将此组件/视图/部分放入应用程序模板的最佳方法是什么?
我是 ember 的新手,所以请善待 :)。
【问题讨论】:
-
我不会使用 UserController,而是将这个逻辑放入 ApplicationController。你不需要其他控制器/路由......关于你的模态逻辑discuss.emberjs.com/t/…
-
感谢您将我引导至模态逻辑论坛。这似乎是一个高度自以为是的话题。我喜欢手动插入模式的想法,但是在我手动创建视图并将视图插入层次结构之前,我需要处理我的 ember fu。
标签: javascript html ember.js handlebars.js