Angular исключение генерации ng-grid editableCellTemplate

Я пытаюсь установить параметр editableCellTemplate ColumnDef в ng-grid (задокументировано здесь).

Когда я устанавливаю его, даже на значение по умолчанию <input ng-class="'colt' + col.index" ng-input="COL_FIELD" />, щелчок по ячейке сразу дает ошибку

Ошибка: нет контроллера: ngModel при ошибке () в getControllers (http://foo.com:43037/Scripts/angular.js:4232:19) в nodeLinkFn (http://foo.com:43037/Scripts/angular.js:4361:35) в CompositeLinkFn (http://foo.com:43037/Scripts/angular.js:3969:15) в CompositeLinkFn (http://foo.com:43037/Scripts/angular.js:3972:13) в publicLinkFn (http://foo.com:43037/Scripts/angular.js:3874:30) в Объект. (http://foo.com:43037/Scripts/ng-grid-2.0.7.js:2660:13) в Object.applyFunction [как fn] (:778:50) в Object.Scope.$digest (http://foo.com:43037/Scripts/angular.js:7896:27) в Object. $delegate.proto.$digest (:844:31) ‹input ng-class="'colt' + col.index" ng-input="row.entity.Name">

Если я не устанавливаю editableCellTemplate, редактирование ячеек работает нормально.

$scope.gridOptions = {
    data: 'people',
    enableCellSelection: true,
    enableRowSelection: false,
    enableCellEdit: true,
    columnDefs:
    [
        { field: 'Id', displayName: 'ID', enableCellEdit: false },
        { field: 'Name', enableCellEdit: true, 
          editableCellTemplate: '<input ng-class="\'colt\' + col.index" ng-input="COL_FIELD" />' }
    ]
};

Что случилось?

(Проблема, которую я на самом деле пытаюсь решить, это создание события по завершении редактирования ячейки, но это решение предполагает, что вы можете установить шаблон ячейки)


person Klas Mellbourn    schedule 23.08.2013    source источник


Ответы (1)


В вашем шаблоне для input также должен быть определен атрибут ng-model:

<input ng-class="'colt' + col.index" ng-input="COL_FIELD" ng-model="COL_FIELD" />

это по умолчанию editableCellTemplate.

person Davin Tryon    schedule 23.08.2013
comment
Это сработало хорошо, спасибо. Значение по умолчанию, которое я получил, было скопировано из документации API, angular-ui. github.io/ng-grid/#api, в котором отсутствует атрибут ng-model. Похоже на ошибку документации для меня. - person Klas Mellbourn; 23.08.2013
comment
Спасибо! это действительно работает ... но я хотел бы понять, почему я должен использовать как ng-model, так и ng-input: каково их точное значение? - person Luke; 18.09.2014
comment
Полностью согласен, Люк, есть много магических заклинаний на значение editableCellTemplate. Что такое «кольт»#? Что такое COL_FIELD? Что такое нг-ввод? - person steve; 09.10.2014