javascript - 想要在另一个div ng-if中引用ng-repeat中的变量。 AngularJS

标签 javascript angularjs

我已从数据库中获取文档。现在我想做的是根据不同的doc.statuses,想要显示不同的消息。该怎么做呢?

<p>
    <a target="_blank" style="margin-right:5px" ng-repeat="doc in homeCtrl.getDocs(docType.objectId)" href="{{doc.document.url}}">
        <div ng-if="doc.status == 'approved'">Hello</div>
        <span class="label label-success"><i  class="glyphicon glyphicon-hourglass"></i>{{doc.status}}</span>
       <br>{{doc.comment}}<br>
    </a>
</p>

所以 div 中的 ng-if 不起作用。如何引用ng-repeat中使用的文档?

编辑: 我还是想不通。我的 Controller 看起来像这样(我正在使用 Parse 后端)

Controller 看起来像这样

class HomeController {

  constructor($scope, $state, itemsService, $location, $ionicLoading) {
    'ngInject';
    const self = this;
    self.UserDocument = Parse.Object.extend('UserDocument');
    self.$scope = $scope;
    self.$scope.user = {};
    self.$scope.objUserDocument = {};
    self.$scope.userDocumentTypes = [];
    self.loading = $ionicLoading;
    // self.$scope.docs = [];

    $scope.$on("$ionicView.beforeEnter", function(event, data) {
      if (!Parse.User.current()) {
        $location.url('/signup');
      } else {
        // self.$scope.user = window.buddy;
        self._getDocumentTypes();
        // self.$scope.user.firstName = objUser.get('firstName');
        // self.$scope.user.lastName = objUser.get('lastName');
        // console.log(objUser.get('docs'));
      }

    });
    window.homeCtrl = this;
  }


  getDocs(id) {
    const self = this;
    if (self.$scope.user.docs && self.$scope.user.docs.length) {
      var docs = self.$scope.user.docs.filter(d => id == d.docType.objectId);
      return docs;
    } else {
      return [];
    }
  }

}

export default HomeController;

````

最佳答案

ng-if 工作正常:

HTML:

<div ng-repeat="item in items">
  <span>{{item.id}}</span>
  <span ng-if="item.status === 'approved'">approved</span>
  <span ng-if="item.status === 'rejected'">rejected</span>
</div>

JS:

angular.module('myApp', [])
.controller('myCtrl', ['$scope', function($scope) {
  $scope.items = [
    {status: 'approved', id: 1},
    {status: 'approved', id: 2},
    {status: 'rejected', id: 3},
    {status: 'rejected', id: 4}
    ]
}])

这是 plnkr:http://plnkr.co/edit/wIX46rZHBNGHdv1S3LKg?p=preview

关于javascript - 想要在另一个div ng-if中引用ng-repeat中的变量。 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876120/

相关文章:

javascript - Angular UI更新具有不同参数的路由

javascript - 单击时将数据绑定(bind)到 Controller

javascript - 消除 ng-keypress 的抖动

Javascript Torrent 文件解析

javascript - Angularjs 显示对象的 bool 值

javascript - Jquery 对话无法正常工作

javascript - AngularJS 分页 - id 计数器在新页面中从 1 开始

javascript - Laravel BroadcastAs 中的 Pusher 传递参数

javascript - IE8 - 使用 javascript 回调函数的 jQuery 加载问题

javascript - "push-model"在 RxJS/Immutable.js/AngularJS 等上下文中的含义