javascript - Angular UI Grid 重新加载单元格模板

标签 javascript angularjs angular-ui-grid ui-grid

我不知道如何做本来应该很简单的事情。

我的 UI 网格中有 10 列,它们都是可编辑的。我的目标是动态“禁用”或让它们成为“必需”输入,具体取决于范围对象的选项。

对象:

$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

关于javascript - Angular UI Grid 重新加载单元格模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45677473/

相关文章:

javascript - 如何在 Controller 中手动注入(inject)路由解析数据?

javascript - $uibModalInstance.close 不起作用

jquery - 引用错误: Invalid left-hand side in assignment using OR

javascript - Angular 和 UIGrid - 获取表数据

AngularJS : ui grid show multi lines in a cell

css - 用户界面网格 : Combining auto-size column with with pinnedRight results in a strange gap

javascript 迭代逻辑连接的元素对

javascript - react native : Can't run app on iOS correctly "Failed to load bundle(http://localhost:8081/index.bundle?"

javascript - Chrome 扩展程序 - webRequest 监听器不工作

javascript - 如何显示动态添加内容的提示框?