Как обновить порядок массива $ scope.items в ответ на повторную сортировку массива DOM пользователем с помощью директивы Angular-UI ui-sortable

Я использую директиву ui-sortable (из angular-ui) в представлении

<ul ui-sortable>
  <li ng-repeat="item in items" >
     {{item.property1}}
     {{item.property2}}
  </li>
</ul>

В результате пользователь может перетаскивать элементы для повторной сортировки в браузере, но это не обновляет порядок массива $ scope.items. Как это сделать, чтобы порядок массива $ scope.items оставался синхронизированным с изменением перетаскивания, инициированным пользователем в браузере?




Ответы (1)


Вам не хватает ng: model

<ul ui:sortable ng:model="list">
        <li ng:repeat="item in list" class="item">{{item}}</li>
    </ul>

Пожалуйста, проверьте рабочий пример ниже

Демо

Он отображает обновленный массив

<div ng:repeat="item in list">{{item}}</div>

Массив автоматически обновляется директивой

person JQuery Guru    schedule 07.09.2013
comment
Да, вот и все. Спасибо за быстрый ответ и демонстрационную скрипку. - person Jarnal; 07.09.2013
comment
Кстати, вам было бы интересно поработать над проектом angularjs на фрилансе? - person Jarnal; 07.09.2013