如何在 angular 视图中获取节点当前用户
How to get node current user in an angular view
我正在使用 sails.js 后端,使用护照进行身份验证,以及 angular.js 前端。我的应用程序允许用户登录并保存他们的信息。现在,我可以在 angular 控制器中通过 $http 获取这些用户的列表,并将它们显示在视图中。但是,我完全无法获得当前用户。我对这种编程还很陌生,到目前为止,网上没有任何东西能真正帮助我理解我需要做什么。谁能提供一个例子或告诉我需要做什么才能只检索当前登录的用户,而不是所有用户?
一旦您通过 Passport 对用户进行身份验证,它会将当前用户作为 request.user
.
保存到 request
对象中
您可以在 API 中创建一个 returns 该对象的端点,然后使用 Angular 获取它。
在api/controllers/UserController.js。此帆函数 returns 当前用户信息 req.user.
module.exports = {
getUser: function(req,res) {
return res.send(req.user);
};
在config/routes.js。这是 UserController.js 中 'getUser' 函数的路径。
'/getUser': {
controller: 'UserController',
action: 'getUser'
}
在assets/js/controllers.js中,这里是对UserController.js中的'getUser'函数的$http请求。这就是从 req.user 获取信息到前端的方式。
angular.module('myApp.controllers', []).
controller('myCtrl', ['$scope', '$http', function($scope, $http) {
$http.get("http://localhost:1337/user/getUser").then(function(result) {
$scope.currentUser = result.data;
})
}]);
在 assets/js/app.js 中,确保您的 angular 路线设置为您的视图。
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view', {templateUrl: 'partials/view.html', controller: 'myCtrl'});
}]);
将此代码(带有您自己的 variables/routes/server 信息)放在正确的位置后,您可以像这样访问视图中的当前用户
<div ng-controller="myCtrl">
{{ currentUser.email }} <br>
{{ currentUser.username }} <br>
{{ currentUser.etc }}
</div>
我在互联网上上下搜索了一个星期,寻找有关如何执行此操作的答案,并最终想出了这个。我看到很多人(尤其是在这个网站上)问过同样的问题,但我从来没有真正找到一个好的、明确的答案。所以我想我会 post 我想出的答案来回答我自己的问题。
我正在使用 sails.js 后端,使用护照进行身份验证,以及 angular.js 前端。我的应用程序允许用户登录并保存他们的信息。现在,我可以在 angular 控制器中通过 $http 获取这些用户的列表,并将它们显示在视图中。但是,我完全无法获得当前用户。我对这种编程还很陌生,到目前为止,网上没有任何东西能真正帮助我理解我需要做什么。谁能提供一个例子或告诉我需要做什么才能只检索当前登录的用户,而不是所有用户?
一旦您通过 Passport 对用户进行身份验证,它会将当前用户作为 request.user
.
request
对象中
您可以在 API 中创建一个 returns 该对象的端点,然后使用 Angular 获取它。
在api/controllers/UserController.js。此帆函数 returns 当前用户信息 req.user.
module.exports = {
getUser: function(req,res) {
return res.send(req.user);
};
在config/routes.js。这是 UserController.js 中 'getUser' 函数的路径。
'/getUser': {
controller: 'UserController',
action: 'getUser'
}
在assets/js/controllers.js中,这里是对UserController.js中的'getUser'函数的$http请求。这就是从 req.user 获取信息到前端的方式。
angular.module('myApp.controllers', []).
controller('myCtrl', ['$scope', '$http', function($scope, $http) {
$http.get("http://localhost:1337/user/getUser").then(function(result) {
$scope.currentUser = result.data;
})
}]);
在 assets/js/app.js 中,确保您的 angular 路线设置为您的视图。
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/view', {templateUrl: 'partials/view.html', controller: 'myCtrl'});
}]);
将此代码(带有您自己的 variables/routes/server 信息)放在正确的位置后,您可以像这样访问视图中的当前用户
<div ng-controller="myCtrl">
{{ currentUser.email }} <br>
{{ currentUser.username }} <br>
{{ currentUser.etc }}
</div>
我在互联网上上下搜索了一个星期,寻找有关如何执行此操作的答案,并最终想出了这个。我看到很多人(尤其是在这个网站上)问过同样的问题,但我从来没有真正找到一个好的、明确的答案。所以我想我会 post 我想出的答案来回答我自己的问题。