Директива AngularJS с методом, вызываемым извне

Я создал директиву с методом, который должен вызываться из других элементов, которые не являются частью директивы. Однако похоже, что этот метод не выставлен.

Некоторые примеры нефритового кода, чтобы уточнить:

//- a controller for the view itself
div(ng-controller="someController")

    //- this is part of the view itself, not within the directive
    div(ng-repeat="element in elements") 
        div(ng-click="methodFromDirective(element)") click element {{$index}} to trigger directive

    //- this is the directive
    div(some-directive)

someController Я думаю, здесь не так уж и важно. У него есть методы, но НЕmethodFromDirective(element) один.methodFromDirective(element) это метод, который существует только в директиве.

Если я сделаю директиву и включу запись в журнал, я ясно вижу, что он создан. ОднакоmethodFromDirective(element) Метод не отображается, поэтому вызовы не запускаются должным образом.

methodFromDirective(element) Сам по себе будет работать только с элементами из шаблона директивы.

некоторый coffeescript, чтобы показать определение директивы (игнорируйте ошибки отступа здесь):

'use strict'
define [], () ->

someDirective = () ->
    restrict: 'A'
    scope: {
        show: '='
    }
    transclude: false
    templateUrl: 'someTemplateHere.html'

    controller = ($scope)  ->

       # exposing the method here
       $scope.methodFromDirective(element)->
           $scope.theMethod element

    link = (scope, element, attr) ->

       # this is logged
       console.log "init someDirective"

       # triggering this method form outside fails
       scope.theMethod = (element)->
          console.log "method triggered with element", JSON.stringify(element)

Ответы на вопрос(3)

Ваш ответ на вопрос