从另一个指令的函数内调用指令上的函数

时间:2018-04-25 20:07:44

标签: angularjs ionic-framework

我使用角度js离子v1。我无法从另一个指令中调用一个指令中存在的函数。以下是我遇到问题的代码。让我们说指令1和指令2都有自己的HTML和CSS。

$scope.closeFunction = function(){
    $scope.closeFunction.hide();
};

我想在另一个指令中使用函数内部的函数。即。点击通话submit,然后提交通话closeFunction。我应该可以打电话给你。

$scope.submit = function() {
    $scope.closeFunction();
}

1 个答案:

答案 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();
  }
}