Angular.js ngTable выбирает ввод как столбец, не отображающий существующее значение

Я использую Angular.js 1.2 и пытаюсь использовать ввод Select в ячейке ngTable. Список параметров заполняется, но директива ngModel, похоже, не выбирает элемент для отображения.

Вот так моя таблица выглядит на данный момент:

    <table class="col-xs-12 table" data-ng-table>
        <tr data-ng-repeat="task in template.tasks">
            <td data-title="'Category'">
                <select class="form-control template-task-category" data-ng-model="task.categoryId" data-ng-options="category.description for category in taskCategories track by category.id"></select>
            </td>
            <td data-title="'Description'">
                <input class="form-control template-task-description center-block" data-ng-model="task.description"/>
            </td>
            <td data-title="'Default Role'">
                <select class="form-control" data-ng-model="task.defaultRoleId" data-ng-options="role.Name for role in roles track by role.id"></select>
            </td>
            <td data-title="'Est. Hours'">
                <input class="form-control template-task-hours center-block" data-ng-model="task.estimatedHours"/></td>
            <td data-title="'Order'"><input class="form-control template-task-sort center-block" data-ng-model="task.sortOrder"/>
            </td>
            <td data-title="'Remove'">
                <a href="#" class="glyphicon glyphicon-remove" onclick="return false;" data-ng-click="removeTask(task)"></a>
            </td>
        </tr>
    </table>

Столбцы «Категория» и «Роль по умолчанию» всегда отображаются как невыбранные раскрывающиеся списки, и когда я отображаю task.categoryId и task.defaultRoleId напрямую, они имеют значения, которые являются частью списка параметров. Есть ли что-то еще, что мне нужно сделать здесь?

Изменить

Вот пример. Я ожидал, что в раскрывающихся списках будет выбрано соответствующее значение. http://plnkr.co/edit/9DkSQT?p=preview


person Josh Russo    schedule 24.07.2014    source источник
comment
Вы пытались поместить группу в свои выборки, которые используют отслеживание?   -  person Owen    schedule 25.07.2014
comment
Не берите в голову. Игра с plnkr на Angular кажется, что это не требуется. Должны ли они быть выбраны из task.categories и task.roles? Это действительно трудно сказать, если вы не поместите это в рабочий план или скрипку.   -  person Owen    schedule 25.07.2014


Ответы (1)


Я понял. Модель ng должна была указывать на полный экземпляр связанного объекта, а не только на свойство, содержащее идентификатор. В моем классе у меня было как поле идентификатора (которое имитировало таблицу базы данных), так и связанный с ним экземпляр. Привязка к экземпляру (task.taskCategory вместо task.categoryId) исправила это.

person Josh Russo    schedule 25.07.2014