如何让当前用户从 sails 进入 angular 视图

How to get current user from sails into an angular view

我使用 $http 从我的 sails 后端获取了一个用户列表到 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 我想出的答案来回答我自己的问题。