0 votos
por (20 puntos) en AngularJS
Hola, estoy iniciándome con angular y tengo una duda que me está consumiendo todo el tiempo y no consigo solucionarla.

Estoy utilizando la versión angular JS 1.5. Quiero llamar a un método de un controlador desde fuera de angular, desde jquery. He consultado multitud de foros y todos me dan la misma respuesta, la misma solución que no me sirve.

Un ejemplo tonto que no me funciona:

HTML:
<div id="span" ng-app='inspinia' ng-controller="ClientController">
                                        Hi
  </div>

<script>

$(function(){
angular.element(document.getElementById('span')).scope().myfunction("dos");

}

La idea es invocar al método myfunction del controlador clientController:

function ClientController($scope, $state, $http)
{

    $scope.myfunction = function (data) {
        alert("---" + data);
    };
}

angular
    .module('inspinia')
    .controller('ClientController', ClientController);


Pues bien, este código tan simple no me funciona. El mensaje que me aparece continuamente es:

angular.js:13236TypeError: angular.element(...).scope(...).myfunction is not a function
    at HTMLDocument.eval (eval at globalEval


¿Alguien me puede ayudar?.












Por favor, accede o regístrate para responder a esta pregunta.

Preguntas relacionadas

Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...