Angular UI 网格重新加载单元格模板

Angular UI Grid reloading cell templates

我不知道如何做本应非常简单的事情。

我的 UI 网格中有 10 列,它们都是可编辑的。我的 objective 是动态的“disable”或让它们成为“required”输入,具体取决于选项一个作用域对象。

对象:

$scope.columnOptions = {
    'column1': 'MANDATORY',
    'column2': 'DISABLED'....
}

单元格模板

cellTemplate: '<input ng-disabled="{{ grid.appScope.columnOptions.column1=== \'DISABLED\' }}" ' +
                'ng-required="{{ grid.appScope.columnOptions.column1=== \'MANDATORY\' }}" ' +
                'data-ng-model="row.entity.column1" style="width:95%">'

如果对象在初始化时存在,则此方法有效。

问题是当我更改 columnOptions 的值时,行不会更新。

我尝试了不同的 ui-grid API 来重新加载我的模板,但没有成功:

        $scope.gridApi.core.refresh();
        $scope.gridApi.core.raise.reloadData();
        $scope.gridApi.core.refreshRows();
        $scope.gridApi.core.notifyDataChange('all');

我添加了一个插件:http://plnkr.co/edit/3bIrtJuwHNrTeltIPAXw?p=preview

您的单元格模板不正确:

cellTemplate: '<input ng-disabled="grid.appScope.columnOptions.column1=== \'DISABLED\'" ' +
            'ng-required="grid.appScope.columnOptions.column1=== \'MANDATORY\' " ' +
            'data-ng-model="row.entity.column1" style="width:95%">'

您不要在 ng- 相关语法中使用 {{}},因为它已经将其解析为 angular:

Fixed Plnkr here