Este artigo descreve o uso de JS para chamar métodos ou variáveis de função no controlador angular externamente. Compartilhe -o para sua referência, como segue:
<! Doctype html> <html ng-app = "myApp" id = "myApp"> <head> <meta name = "viewport" content = "width = width de dispositivo"/> <title> test </title> <script src = "~ content/js/plugins/angularJs/angular.Min.JS" ng-controller = "myController"> {{msg}} <a href = "javascript :;" id = "lbtntest"> ligue </a> </body> </html> <cript> var ngapp = angular.module ('myApp', []); ngapp.Controller ('MyController', função ($ scope, $ http) {$ scope.msg = 'hello, angular!'; $ scope.getData = function () {return 'qubernet';}}); onLload = function () {document.getElementById ('lbtntest'). OnClick = function () {// Obter aplicação angular através do controlador var AppElement = document.QuerySelector ('[ng-Controller = myController]'); // obtenha $ variável de escopo var $ scope = angular.Element (AppElement) .Scope (); // chamando a variável msg e alterando o valor do msg $ scope.msg = '123456'; // A linha anterior mudou o valor da msg. Se você deseja sincronizar com o controlador angular, precisará chamar o método $ apply (), $ scope. $ Aplicar (); // chamando o método getData () no controlador console.log ($ scope.getData ()); }} </script>O efeito é mostrado na figura abaixo antes de clicar no botão "Call":
Depois de clicar no botão "Call", o efeito é mostrado na figura a seguir:
Espero que este artigo seja útil para a programação do AngularJS de todos.