是这样的,我写了一个指令,实现的功能是点击后出现一个可以提交数据的模态窗。
根据需求,可以提交不同的数据(向服务器发送数据的接口不同)
请问有没有什么办法,能够使我在指令外部控制指令内点击了「提交」按钮后执行的方法?
<my-directive mode="mode1">
BUTTON
</my-directive>
{
restrict: 'E'
scope: {
mode: '@',
data: '='//此处传入的data将在link函数内作处理,不能直接以此发送至服务器
}
link: function(scope, element, attrs) {
element.bind('click', function(){
switch (attrs.mode) {
case 'mode1':
...
break;
case 'mode2':
...
break;
case 'mode3':
...
break;
default:
break;
}
})
}
}
我现在的做法是通过一个mode属性传入模式,在link函数中通过switch语句执行不同的操作,有没有什么办法能够使操作方法作为参数传入指令呢?
其实。。。这种需求应该这个设计
button 触发----> 不同的 modal框 ---->不同的modal框组装出不同的formModel ----> 点击modal框的commit按钮 formModel 返回给 控制 button的controller --->controller调用service吧formModel提交到后台