工厂内ui-grid cellTemplate的Ng单击

时间:2019-05-26 17:27:24

标签: javascript angularjs angularjs-scope ui-grid

我正在为自己的公司开发一个网站,并且在尝试触发单元格价值点击功能时遇到了麻烦。

我正在使用ui-grid和ControllerAs。

创建表的函数在我的控制器'statusController'中:

function generateStatusCountChart()
{
    var postData = {
        'id'        : vm.id,
        'region'    : vm.region,
        'pageSize'  : PAGE_SIZE,
        'pageNum'   : vm.pageNum
    };

    dashboardsService.getStatus(postData).then(function (results) {
        vm.charts.statusCountChart.loading     = true;
        vm.charts.statusCountChart.gridData    = statusViewGraph.statusCountChart(results);
        vm.charts.statusCountChart.loading     = false;
    }).catch(function () {
        vm.charts.statusCountChart.failure     = true;
    });
}

这是statusViewGraph服务内部的功能:

function statusCountChart(results) {

   some code......

    var chartConfig = gridData.generateGridOptions(data,gridData.getStatusCountFields());

    return chartConfig;
}

这是'gridData'工厂内的'getStatusCountFields':

function getStatusCountFields() {
    var specificColumnDef = [
        {
            name: 'result',
            displayName: 'Results',
            cellClass: 'ui-grid-cell-contents',
            cellToolTip: false,
            minWidth: 50,
            cellTemplate: '<div><a ng-click="grid.appScope.vm.FunctionInStatusController()">{{COL_FIELD}}</a></div>',
            aggregationType: function (items) {
                return 'Total Results: ' + $filter('number')(items.length);
            }
        },
        {
            name: 'count',
            displayName: 'Count',
            cellClass: 'ui-grid-cell-contents',
            cellToolTip: true,
            minWidth: 350,
            cellTemplate: '<div style="overflow: auto">{{COL_FIELD}}</div>'
        },
    ];
    return specificColumnDef;
}

因此,基本上,我想做的是调用一个在“ statusController”中定义的函数,并且触发将是在cellTemplate内进行ng-click,如上所示。你有什么建议吗?

0 个答案:

没有答案