【问题标题】:How to get current user from sails into an angular view如何让当前用户从风帆进入角度视图
【发布时间】:2015-09-01 10:49:09
【问题描述】:

我已经使用 $http 从我的风帆后端获取了一个用户列表到一个角度视图中。但是,我只需要当前用户的信息,并且需要单独访问每个属性。有人可以为我提供一个示例,说明我可以如何解决这个问题吗?

【问题讨论】:

  • 也许这会有所帮助:Sail user from angular state
  • 我有点了解这里发生了什么(我对 Web 应用程序和框架非常陌生)。但我不确定 '/get_user' 和 '/status_update' 是什么。它们在帆控制器中起作用吗?如果是这样,它如何知道哪个控制器,'/status_update' 应该做什么?
  • 我的猜测是它们是帆上的路线,用于访问当前登录的 Sail 用户。我经常使用 Angular,但之前没有使用过 Sail
  • 好吧,在代码块下面,他将“get_user”定义为一个函数,这让我觉得它在控制器中。我很少使用帆,但对这一切都很陌生。
  • 我明白你的意思,sailsSocket.get( '/get_user', {}, function(response){ callback} 从这个链接你可以清楚地看到sailSocket.get() 向get_user 发出请求并处理响应。无论如何希望这可以帮助您解决问题。你解决了吗?

标签: angularjs frontend


【解决方案1】:

在 api/controllers/UserController.js 中。这个sails函数返回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 中,确保您的角度路线设置为您的视图。

config(['$routeProvider', function($routeProvider) {
  $routeProvider.when('/view', {templateUrl: 'partials/view.html', controller: 'myCtrl'});
}]);

将此代码(带有您自己的变量/路由/服务器信息)放在正确的位置后,您可以像这样访问视图中的当前用户

<div ng-controller="myCtrl">
   {{ currentUser.email }} <br>
   {{ currentUser.username }} <br>
   {{ currentUser.etc }}
 </div>

我在互联网上搜索了一周的高低,以寻找有关如何执行此操作的答案,并最终想出了这个。我看到很多人(尤其是在这个网站上)都问过同样的问题,但我从来没有真正找到一个好的、明确的答案。所以我想我会发布我想出的作为我自己问题的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多