Dyrektywa AngularJS z metodą wywoływaną z zewnątrz

Stworzyłem dyrektywę z metodą, która powinna być wywoływana z innych elementów, które nie są częścią dyrektywy. Wygląda jednak na to, że ta metoda nie jest widoczna.

Przykładowy kod jade, aby wyjaśnić:

//- 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)

ThesomeController nie jest tu zbyt ważne. Ma metody, ale NIEmethodFromDirective(element) jeden. ThemethodFromDirective(element) jest metodą, która istnieje tylko w dyrektywie.

Jeśli zrobię dyrektywę i zaloguję się do tworzenia, wyraźnie widzę, że jest tworzona. JednakżemethodFromDirective(element) metoda nie jest widoczna, więc wywołania nie są prawidłowo uruchamiane.

ThemethodFromDirective(element) sam będzie działał tylko na elementach z szablonu dyrektywy.

jakiś coffeescript, aby pokazać definicję dyrektywy (tutaj ignoruj ​​błędy wcięcia):

'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)

questionAnswers(3)

yourAnswerToTheQuestion