按钮单击在Celltemplate角度网格中不起作用

时间:2015-02-17 06:52:04

标签: javascript angularjs angular-ui-grid celltemplate

我正在尝试使用celltemplate。但点击事件不起作用。

    $scope.format = function(val){
            return val.replace(/\//g, "");
        };

        var executionColumns = {
            data: [],
            enableSorting: true,
            paginationPageSizes: [25, 50, 75],
            paginationPageSize: 25,
            enableColumnMenu: true,
            enableFiltering: true,
            columnDefs: [

              { field: 'StartDate', cellTemplate: '<button ng-click="format (row.entity)">log</button>' },
              { field: 'Status' },

            ]

        };

那我该怎么办?怎么了?

3 个答案:

答案 0 :(得分:2)

它对我来说就像第二个代码一样

         columnDefs: [
          { field: 'StartDate', cellTemplate: '<button ng-click="format(grid.getCellVale(row.entity)   )">log</button>' },
          { field: 'Status' },

        ]

或将格式化函数移动到定义为

的外部镜像
 $scope.globalExternalScope = {
       format:function(entity){..........}
    }

然后使用

之类的模板
         columnDefs: [
          { field: 'StartDate', cellTemplate: '<button ng-click="getExternalScopes().format(grid.getCellVale(row.entity)   )">log</button>' },
          { field: 'Status' },

        ]

答案 1 :(得分:0)

使用    <button ng-click="grid.appScope.format (row.entity)">log</button>

现在它正在为我工​​作!

答案 2 :(得分:0)

如果您使用的是.component,在其中渲染ui-grid,并且方法定义为: this.handleClick = function(){...}

它将在cellTemplate中通过以下方式向您提供 cellTemplate: '<button ng-click="grid.appScope.$ctrl.handleClick()">log</button>' }