我使用角度js离子v1。我无法从另一个指令中调用一个指令中存在的函数。以下是我遇到问题的代码。让我们说指令1和指令2都有自己的HTML和CSS。
$scope.closeFunction = function(){
$scope.closeFunction.hide();
};
我想在另一个指令中使用函数内部的函数。即。点击通话submit
,然后提交通话closeFunction
。我应该可以打电话给你。
$scope.submit = function() {
$scope.closeFunction();
}
答案 0 :(得分:0)
你有几个选项,假设两个指令都是嵌套的。然后您可以将该函数作为参数传递。
<parent>
<child close="closeFunction()"><child>
</parent>
在您的子指令中,
scope: {
close: '&'
},
controller: ($scope) => {
$scope.submit = function() {
$scope.close();
}
}
或使用require
属性,(子组件)
require: '^parent',
link: (scope, el, attrs, $ctrlParent) => {
scope.submit = function() {
$ctrlParent.closeFunction();
}
}