Javascript 如何从ngGrid中显示的按钮调用scope方法

Javascript 如何从ngGrid中显示的按钮调用scope方法,javascript,html,angularjs,Javascript,Html,Angularjs,我正在使用ngGrid,我正在尝试从ngGrid中显示的按钮调用scope方法 单击后,我无法执行此功能。 请告诉我怎么做。也许这是个老问题,但我会回答的 ngGrid创建了一个独立的作用域,因此无法通过以下方式访问父作用域: $parent.editUser 和ctrl.editUser 通过使用$scope.callback={}$scope.callback.editUser=函数{};->callback.editUser ngGrid在隔离作用域中使用您的选项,该作用域可用于您的单元格

我正在使用ngGrid,我正在尝试从ngGrid中显示的按钮调用scope方法

单击后,我无法执行此功能。
请告诉我怎么做。

也许这是个老问题,但我会回答的

ngGrid创建了一个独立的作用域,因此无法通过以下方式访问父作用域:

$parent.editUser 和ctrl.editUser 通过使用$scope.callback={}$scope.callback.editUser=函数{};->callback.editUser ngGrid在隔离作用域中使用您的选项,该作用域可用于您的单元格/行模板-因此您可以执行以下操作:

Javascript控制器:

HTML:

普朗克:
也许这是个老问题,但我会回答的

ngGrid创建了一个独立的作用域,因此无法通过以下方式访问父作用域:

$parent.editUser 和ctrl.editUser 通过使用$scope.callback={}$scope.callback.editUser=函数{};->callback.editUser ngGrid在隔离作用域中使用您的选项,该作用域可用于您的单元格/行模板-因此您可以执行以下操作:

Javascript控制器:

HTML:

普朗克:

您能添加html代码吗?或者最好是JSFIDLE?检查浏览器控制台中的错误@DadoJerry:它不会显示任何错误,在页面加载时会显示work@Kersten如果要查看您正在触发的html,请添加html代码好吗?或者最好是JSFIDLE?检查浏览器控制台中的错误@DadoJerry:它不会显示任何错误,在页面加载时会显示work@Kersten应该可以看到你点击时触发的html
angular.module('harbinger').controller(
   'Admin.UserlistController',  
   function($rootScope, $scope, $location, $http, userService)
   {
      // etc
      $scope.gridOptions = {
         // etc ,
         enableRowSelection: false,
         columnDefs: [
            {field: 'userName', displayName: 'Username'},
            {field: 'name', displayName: 'Name'},
            {field: 'organization', displayName: 'Organization'},
            {field: 'title', displayName: 'Title'},
            {field: 'dateOfBirth', displayName: 'Date Of Birth'},   
            {field: 'controls', displayName: '', cellTemplate: '<div id="controls" ><a id="user-edit" onClick="editUser(\'{{row.entity.userName}}\')">Edit</a> | <a id="user-reset" data-ng-click="resetUser(\'{{row.entity.userName}}\')">Reset</a> | <a id="user-unlock">Un-lock</a></div>'}
         ]
      };
userService.reset($scope.userData, function( data ) // success
                {
                   // etc
                }
$scope.editUser = function(userName) {
    ...
};

$scope.options = {
    data: 'data',
    columnDefs: [{
        field:'name', 
        displayName:'name', 
        cellTemplate: '<div ng-click="options.editUser(\'{{row.entity.userName}}\')">Edit</div>'
    }],
    editUser: $scope.editUser
}
<div ng-grid="options"></div>