Я не вижу никаких проблем с этим.Единственное, где вы определили 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>