referencia org documentacion docs javascript angularjs angularjs-scope angularjs-service

javascript - org - Convertir cadena a función en AngularJS



javascript angular (2)

Estoy tratando de convertir cadenas a las llamadas al método de servicio AngularJS en un controlador. Por ejemplo, me gustaría convertir la cadena "Contact.send (email)" para llamar a un método de servicio existente. Pensé usar:

window["Contact"]["send"](email);

como en este hilo - Cómo ejecutar una función de JavaScript cuando tengo su nombre como una cadena - pero dice que el servicio de contacto no está definido, a pesar de ser inyectado en el controlador.


Necesitará $ inyector para obtener un servicio de una cadena:

$injector.get(''Contact'')[''send''](email);


Puede usar el método $ scope. $ Eval para evaluar una expresión en el contexto $ scope actual.

$scope.$eval("Contact.send(email)");

pero debe asegurarse de que el objeto Contact esté disponible en el objeto $ scope, de lo contrario no funcionaría. Consulte la documentación de alcance para este https://code.angularjs.org/1.2.15/docs/api/ng/type/ $ rootScope.Scope