Я разрабатываю веб-сайт для своей компании и пытаюсь вызвать функцию, щелкнув значение в ячейке.
Я использую 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;
}
И это 'getStatusCountFields' внутри фабрики 'gridData':
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', и триггером будет ng-click внутри cellTemplate, как показано выше. У вас есть предложения?