1

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' },

            ]

        };

それで、私は何をすべきですか?何が間違っていますか?

4

3 に答える 3

2

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' },

        ]
于 2015-02-17T07:13:49.467 に答える
0

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

それは今私のために働いています!

于 2016-01-07T05:26:15.467 に答える
0

その.component中でレンダリングする a を使用していui-gridて、メソッドが次のように定義されている場合: this.handleClick = function(){...}

cellTemplate経由 で利用できます cellTemplate: '<button ng-click="grid.appScope.$ctrl.handleClick()">log</button>' }

于 2018-10-12T10:25:33.177 に答える