When items is undefined at the time the template is loaded the directive does not work.
This is very common when the items are populated from a REST API call.
Ex:
In controller:
setTimeout(function(){ $scope.items = [1,2,3]; }, 5000);
In HTML:
<div ng-sortable="items">...</div>
ng-sortable should implement a $watch for the $scope.ngSortable and only run the current linking code when it is defined and an array.
When
itemsis undefined at the time the template is loaded the directive does not work.This is very common when the items are populated from a REST API call.
Ex:
In controller:
setTimeout(function(){ $scope.items = [1,2,3]; }, 5000);In HTML:
<div ng-sortable="items">...</div>ng-sortable should implement a
$watchfor the$scope.ngSortableand only run the currentlinking code when it is defined and an array.