2016-12-23 4 views
0

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

У меня есть контроллер: с

app.controller('myController', function ($scope){ 

    $scope.MyParentFunction = function(){ 

       alert("it does not work.."); 

    };  

} 

И контроллер б, который находится внутри директивы:

app.directive('myDirective', function() { 

var directive = {}; 

    //properties 
    directive.scope = { 
     date: '=ngModel', 
    }, 

    //controller 
    directive.controller = function ($scope) { 

     $scope.CallParentFunction = function(){ 

      //Call Function From Parent scope here 
      $scope.MyParentFunction();  

     } 

    }, 

    //call parent function in template 
    directive.template = '<div ng-click="CallParentFunction()">Call</div>'; 

    return directive; 

}); 

Как я могу назвать "MyParentFunction()" от моего контроллера директивы? Спасибо заранее!

+0

является 'MyDirective' внутри' myController' в структура дома? вы могли бы создать плункер, а http://plnkr.co/edit – dreamweiver

+0

следующий не работает, но показывает основную идею! http://plnkr.co/edit/dv90rBhtgXl9pOU12VKj?p=preview –

ответ

1

Надеется, что это поможет:

Все, что вам нужно, чтобы связать вашему родитель функции

directive.scope = { 
    date: '=ngModel', 
    callParentFunction: "&" //function binding 
} 

http://plnkr.co/edit/y7I1g7bKok8NOADipqX4?p=preview

Посмотрите на angularjs документации

https://docs.angularjs.org/guide/directive

+0

Да, делает работу в значительной степени! Благодарю. Я знал, что это будет просто. –

Смежные вопросы