小编典典

Angular:使用&在指令链接函数内调用控制器函数

angularjs

尝试在指令的链接函数中使用与号&来调用传递给指令的函数时遇到问题。

似乎在控制器上调用了该函数,但在调用中未传递任何参数。我们看到的所有示例都涉及通过在模板中创建调用来进行传递。有没有一种方法可以从其模板的指令中调用指令中的函数,然后在指令中执行某些操作,以调用传递给它的控制器函数?


阅读 286

收藏
2020-07-04

共1个答案

小编典典

您是否在{}s中传递了参数?例如,在指令的链接函数中,您将希望像这样调用方法: scope.someCtrlFn({arg1: someValue});

<div my-directive callback-fn="ctrlFn(arg1)"></div>



app.directive('myDirective', function() {
    return {
        scope: { someCtrlFn: '&callbackFn' },
        link: function(scope, element, attrs) {
            scope.someCtrlFn({arg1: 22});
        },
    }
});

function MyCtrl($scope) {
    $scope.ctrlFn = function(test) {
        console.log(test);
    }
}

jsfiddle

2020-07-04