Javascript 在UI网格中编辑和筛选自定义单元格模板中的问题

Javascript 在UI网格中编辑和筛选自定义单元格模板中的问题,javascript,angularjs,angular-ui-grid,Javascript,Angularjs,Angular Ui Grid,我正在使用自定义单元格模板,其字段绑定到函数表达式。单元数据与具有多个键的对象绑定。我正在使用一个自定义函数,它将字符串返回到该列单元格模板 现在有两个问题,我在做了这个实现后面临 筛选不适用于该特定单元格 移动到该单元格的编辑模式时出现角度错误: 错误:[ngModel:nonassign]表达式“行”。实体“getDisplayTitle”不可分配。元素:“getDisplayTitle”class=“ng原始ng未触及ng有效ng范围”> 我使用plunker复制了这个问题 var-ap

我正在使用自定义单元格模板,其字段绑定到函数表达式。单元数据与具有多个键的对象绑定。我正在使用一个自定义函数,它将字符串返回到该列单元格模板

现在有两个问题,我在做了这个实现后面临

  • 筛选不适用于该特定单元格
  • 移动到该单元格的编辑模式时出现角度错误:
  • 错误:[ngModel:nonassign]表达式“行”。实体“getDisplayTitle”不可分配。元素:“getDisplayTitle”class=“ng原始ng未触及ng有效ng范围”>

    我使用plunker复制了这个问题

    var-app=angular.module('app',['ngTouch','ui.grid','ui.grid.edit']);
    app.controller('MainCtrl',['$scope',函数($scope){
    $scope.getDisplayTitle=函数(行实体,列){
    var displayTitle=“”;
    if(行实体[列]!==null){
    if(行实体[列].长度>1){
    对于(变量i=0;i

    谢谢

    问题是由这一行引起的:

    field: 'getDisplayTitle()',
    
    这对网格说,应该在
    rowEntity.getDisplayTitle()
    [注意,这不是指向
    $scope.getDisplayTitle()
    ,所以我认为它不会像您希望的那样工作]

    但正如您所看到的,
    getDisplayTitle()
    是一个函数,您不能为函数赋值:

    getDisplayTitle() = foo; // This is not a valid expression in javascript
    
    因此,您必须将行实体的属性放入
    字段
    中,您将发现该值在用户结束编辑后更新

    getDisplayTitle() = foo; // This is not a valid expression in javascript