Angularjs ng-click 和 collapse 获取错误

Angularjs ng-click and collapse getting errors

    <a ng-click="vm.getComment(post);isCollapsed{{post._id}} = !isCollapsed{{post._id}}">
  1. 我已经写了上面的代码用于在每个
    上显示多个折叠 单击显示该特定列表并去爱错误任何人都可以告诉我上面的行是否正确

    angular.js:13920 错误: [$parse:syntax] http://errors.angularjs.org/1.5.8/$parse/syntax?p0=%7B&p1=is%20an%20unexpected%20token&p2=32&p3=vm.getComment(post)%3BisCollapsed%7B%7Bpost._id%7D%7D%20%3D%20!isCollapsed%7B%7Bpost._id%7D%7D&p4=%7B%7Bpost._id%7D%7D%20%3D%20!isCollapsed%7B%7Bpost._id%7D%7D 在 http://localhost:6161/lib/angular/angular.min.js:6:412 在 s.throwError 在 kc.parse (http://localhost:6161/lib/angular/angular.min.js:276:122) 在 oa (http://localhost:6161/lib/angular/angular.min.js:71:38) 在 s (http://localhost:6161/lib/angular/angular.min.js:59:121) 在 s (http://localhost:6161/lib/angular/angular.min.js:59:253)

您不能将作用域变量连接为字符串并期望转换为具有该名称的变量。我建议使用 object or/and 数组来存储有关帖子的信息,并简单地切换每个对象的布尔值。这是一个快速演示:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.ids = [10, 21, 34, 100];
  $scope.isCollapsed = {
    "10": false,
    "21": false,
    "34": false,
    "100": false
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">
  <div ng-repeat="id in ids">
    <button ng-click="isCollapsed[id] = !isCollapsed[id]">
      Hide {{id}}
    </button> <br>
    {{isCollapsed[id]}}
    <hr>
  </div>
</div>