Вызов функции в директиве из функции другой директивы - PullRequest
0 голосов
/ 25 апреля 2018

Я использую Angle JS Ionic V1.Я не могу вызвать функцию, присутствующую в одной директиве, из другой директивы.Ниже приведен код, где я сталкиваюсь с проблемой.Допустим, директива 1 и директива 2 имеют свои собственные HTML и CSS.

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

Я хочу использовать вышеуказанную функцию внутри функции в другой директиве.то есть.На клики звоните submit, а отправляйте звонки closeFunction.Я должен быть в состоянии назвать это.

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

1 Ответ

0 голосов
/ 26 апреля 2018

У вас есть несколько вариантов, скажем, обе директивы вложены.Затем вы можете передать функцию в качестве параметра.

<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();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...