Javascript 从角度、链接或控制器指令返回回调?

Javascript 从角度、链接或控制器指令返回回调?,javascript,angularjs,angular-directive,Javascript,Angularjs,Angular Directive,我想创建一个table指令,我想知道如何将回调传递给例如:“调用一个不在控制器中的delete函数”,我想使用参数作为回调传递,但有一段时间我用它来敲我的头。当我可以通过“链接”返回回调时,我不能返回值,控制器也不能 查看仪表板 指示 调用回调时,需要在参数对象中提供属性“response”: function link(scope, element, attrs, ctrl) { scope.vm.callback({response: 'some response text'}); }

我想创建一个table指令,我想知道如何将回调传递给例如:“调用一个不在控制器中的delete函数”,我想使用参数作为回调传递,但有一段时间我用它来敲我的头。当我可以通过“链接”返回回调时,我不能返回值,控制器也不能

查看仪表板

指示


调用回调时,需要在参数对象中提供属性“response”:

function link(scope, element, attrs, ctrl) {
 scope.vm.callback({response: 'some response text'});
}

(function() {

    'use strict';

    angular
        .module('senhalivre')
        .controller('DashboardMikrotikCtrl', DashboardMikrotikCtrl);

    DashboardMikrotikCtrl.$inject = [];

    function DashboardMikrotikCtrl() {

        var vm = this;

        vm.myCallBack = myCallBack;

        vm.options = {
            enabled : true,
            msg : 'DashBoard',
            // Configs etc..... 
        }

        //////////////////

        function myCallBack(response){

            console.log('Callback !!! ');
            console.log(response);

        }

    }

})();
(function() {

    'use strict';

    angular
        .module('senhalivre')
        .directive('crudTable', crudTable);

    crudTable.$inject = [];

    function crudTable() {

        var directive = {
            bindToController: true,
            controller: crudTableCtrl,
            templateUrl : './views/crud/crudTable.html',
            controllerAs: 'vm',
            link: link,
            restrict: 'EA',
            scope: {
                options : '=',
                callback : '&callback'
            }
        };

        return directive;

        ////////////////

        function link(scope, element, attrs, ctrl) {

            scope.vm.callback({test : 'something'});
            // Work

        }

    }

    crudTableCtrl.$inject = [];

    function crudTableCtrl() {

        var vm = this;

        vm.callback({test : 'something'});
        // :( 

    }

})();
function link(scope, element, attrs, ctrl) {
 scope.vm.callback({response: 'some response text'});
}
function crudTableCtrl() {
    this.callback({response: 'something'});
}