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