我已经坚持了几天了。我想根据当前用户(id)显示一个项目。
例如:
<!-- if current user has already 'liked' this post -->
    Show 'UnLike' button
<!-- else -->
    Show 'Like' button
<!-- end -->
在 Angularjs 中如何使用基于当前用户 id 的条件语句?
如果有帮助,我将 Rails 与 Devise 一起用作我的后端。
我已经坚持了几天了。我想根据当前用户(id)显示一个项目。
例如:
<!-- if current user has already 'liked' this post -->
    Show 'UnLike' button
<!-- else -->
    Show 'Like' button
<!-- end -->
在 Angularjs 中如何使用基于当前用户 id 的条件语句?
如果有帮助,我将 Rails 与 Devise 一起用作我的后端。
让我们轻松一点。
首先,设置 gon。
在您的 Rails 控制器级别,无论在哪里需要,或在before_filter(before_action在 Rails 4 中),执行:
gon.current_user = { id: current_user.id } 
然后在角度方面:
app.service 'sessionService', [ '$window', ($window)->
  factory =
    current_user: ->
      $window.gon.current_user
  factory
]
然后注入您的会话服务,您将可以通过该方法访问该current_user对象
如果您想要在客户端上处理此问题的“Angular 方式”,您可能需要查看我创建的工作 CodePen 示例。
模板:
<section ng-app="app" ng-controller="MainCtrl">
  <ng-switch on="hasLiked">
    <button class="btn btn-primary" ng-switch-when="true">Unlike</button>
    <button class="btn btn-primary" ng-switch-when="false">Like</button>
  </ng-switch>
  <br>
  <button class="btn toggle" ng-click="hasLiked = !hasLiked" ng-bind-template="Change result of service call from '{{hasLiked}}' to '{{!hasLiked}}'">Change</button>
</section>
的JavaScript:
var app = angular.module('app', []);
app.factory('userSvc', function() {
  // mock $http lookup
  var lookupResult = true;
  return {
    hasLiked: lookupResult
  };
});
app.controller('MainCtrl', function($scope, userSvc) {
  $scope.hasLiked = userSvc.hasLiked;
});