我正在使用node.js在客户端上开发一个node.js Web应用程序。
基本上,当用户登录时,我需要存储其用户名并将其绑定到屏幕上的元素。
除了存储在会话中之外,还有另一种方法来存储信息。
我有一个模板页面,其中显示了元素:
<div class="header">
<h3 class="text-muted">This is a template</h3>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Username here<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">Settings</a></li>
<li><a href="#">Profile</a></li>
</ul>
</li>
</ul>
我是否需要为模板页面创建一个控制器方法,该方法将在我的app.js文件中调用将获取用户名的服务?
我建议为此使用Factory作为AngularJS服务。您可以从API请求用户信息,并将其作为JSON对象存储在Factory中。在您的控制器中,您可以加载Factory并获取所需的信息,例如用户名。
由于每个AngularJS服务都是一个Singleton,因此您可以确保始终只有一个实例包含您的User信息。
服务(工厂):
app.factory('UserService',
function($http) {
// Here you can call a RESTful API resource,
// store a JSON object in the application scope
// and return it by this service to any controller.
return {
getUsername: function() {
return "tjhack"
}
};
});
控制器:
app.controller('MainCtrl', function($scope, UserService) {
$scope.username = UserService.getUsername();
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句