Требуется обработать нажатие кнопки из html, созданного с использованием директивы.
У меня есть контроллер "MachinesController", определенный в файловых машинах. js
Из файла new_machines. html вызвать директиву pipeVisualizer.
<div class="container-fluid" ng-controller="MachinesController" ng-init="initMachines()"
autoscroll="false">
.........
<div class="col-lg-12">
<pipeline-visualizer selected="selectedPipeline.pipelineId"/>
</div>
</div>
Код директивы следующий:
.directive('pipelineVisualizer', [..., function (...) {
return {
restrict: 'E',
scope: {
selected: '<selected',
},
templateUrl: 'static/html/ng/pipeline_visualizer.html',
link: function (scope, element, attrs) {
scope.data = {}
scope.pollers = {}
scope.rendered = {}
scope.table = {}
....
......
pipe_visualizer. html выглядит следующим образом
<button type="button" ng-click="bypassWaitForDrained(selected, results.operationsIds[$index], results.bypassed_machines['WaitForDrained'], results.operationclassNames[$index])">Bypass
Из pipe_visualizer. html когда кнопка нажата, мне нужно обработать где-нибудь. Могу ли я знать, где я должен определить функцию "bypassWaitForDrained"?
Я попытался определить функцию "bypassWaitForDrained" в файловой машине. js, где определен контроллер "MachinesController". Но я не могу получить доступ к функции. Могу ли я знать, что может быть причиной? Так как pipe_visualizer. html отображается в области видимости контроллера "MachinesController", в идеале я должен иметь доступ к функциям, определенным в машинах. js file right?