小编Fox*_*oxy的帖子

在AngularJS中获取当前控制器名称

我正在尝试编写一个生成网格的指令.以下代码有效但我必须指定控制器名称'DemoCtrl'.是否可以从指令中检索当前控制器名称,以便将其传递给buildColumn/buildRows函数?

angular.module('app').controller('DemoCtrl', function ($scope) {
    $scope.controller = "DemoCtrl";
    $scope.coldata = [
        {name: 'Account'},
        {name: 'Name'}
    ];
    $scope.rowdata = [
        {
            "account": "ABC",
            "name": "Jim",
        },
        {
            "account": "DEF",
            "name": "Joe",
        },
        {
            "account": "GHI",
            "name": "Fred",
        }
    ];
});

angular.module('foxy.components.grid', [])

        .controller('GridController', ['$scope', '$attrs', function ($scope, $attrs) {
            }])

        .directive('grid', function ($compile) {
            return {
                restrict: 'EA',
                controller: 'GridController',
                require: "^ngController",
                scope: {
                    data: "=",
                    columns: "=",
                    controller: "="
                },
                link: function (scope, element, attrs, ctrl) {
                    scope.$watch('data', function () …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive angularjs-controller

6
推荐指数
1
解决办法
1万
查看次数