我已经知道的事情:在指令内调用没有参数的控制器函数。代码如下。
首先在指令定义中:
scope: {
actionFunc: "&"
}
在指令模板中:
<button ng-click='actionFunc()'></button>
然后在控制器的HTML视图中
<my-directive action-func='controllFunction()'>
然后在控制器中
$scope.controllFunction= function() {
alert("controllFunction is called");
};
上面的代码效果很好。
但是,我想将参数传递给actionFunc。控制器应如下所示:
$scope.controllFunction= function(arg1, arg2) {
alert(arg1);
alert(arg2);
};
如何编写HTML视图和指令?
答案 0 :(得分:1)
您需要使用控件名称在控件内传递参数。
在您的示例中,您应该执行以下操作:
HTML视图
<my-directive action-func='controllFunction(myArg1,myArg2)'>
指令模板
<button ng-click='actionFunc({myArg1: value1, myArg2: value2})'></button>
将value1
和value2
替换为适当的变量