переменная с функцией $scope в предварительном цикле

#angularjs

#angularjs

Вопрос:

 $scope.regroup = function () {
    //For each group: Move a group up so that it's put after the same named group.

    angular.forEach($scope.sessions, function (session, i) {

        var moved = $scope.moveMergedGroupsUpOnLeft(session.Groups);
    });
  

Комментарии:

1. Ошибка заключается в том, что объект не поддерживает свойство или метод ‘moveMergedGroupsUpOnLeft’, хотя я определил.

2. где вы определили метод moveMergedGroupsUpOnLeft?

Ответ №1:

Я не вижу в этом никакой проблемы. Единственное, где вы определили moveMergedGroupsUpOnLeft функцию.

 <!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="myCtrl">
  <ul>
      <li ng-repeat="a in arr" ng-click="click(a)">Click {{::a}}</li>
  </ul>
</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
    $scope.arr = [1, 2, 3, 4, 5];
    $scope.click = function (_id) {
        angular.forEach($scope.arr, (id) => {
            if (id === _id) {
                $scope.moveMergedGroupsUpOnLeft(id);
            }
        });
    }

    $scope.moveMergedGroupsUpOnLeft = function (id) {
        alert('clicked '   id);
    };
});
</script>

</body>
</html>  

Комментарии:

1. У меня есть nestedJSON. Теперь я могу сортировать JSON с помощью $filter orderby. Но как я могу пометить переставленные записи? Не могли бы вы дать мне совет?