Вызов функции AngularJS v1.4 из JavaScript - PullRequest
0 голосов
/ 13 декабря 2018

Мне нужно вызвать вызов функции AngularJS со стороны javascript.

Ниже приведена функция, которую я хочу вызвать из javascript.

https://github.com/aws-samples/aws-iot-examples/blob/master/mqttSample/js/app.js

AppController.$inject = ['$scope'];
AppController.prototype.createClient = function() {

    var options = {
      clientId : this.clientId,
      endpoint: this.endpoint.toLowerCase(),
      accessKey: this.accessKey,
      secretKey: this.secretKey,
      regionName: this.regionName
    };
    var client = this.clients.getClient(options);
    if (!client.connected) {
      client.connect(options);
    }
};

Мой JavaScript

<body>
    <div id='myid' class="container" ng-app="awsiot.sample" ng-controller="AppController as vm">
  ....
  <div class="form-group">
    <button class="btn btn-primary" id='myclick' ng-click="vm.createClient()" >Create Client</button>  <-- working! -->      
  </div>  

....

<script>
  angular.element('#myid').scope().createClient(); // not working!
</script>

Можете ли вы помочь мне?

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Чтобы вызвать createClient () в angular, я хочу выполнить

Поместить вызов в функцию $onInit контроллера:

function AppController() {
    this.$onInit = function() {
        this.createClient();
    });
}

Для получения дополнительной информации см. Справочник по API службы AngularJS $ compile - Хуки жизненного цикла .

0 голосов
/ 13 декабря 2018

попробуйте это:

angular.element(document.querySelector('#myid')).controller().info();

демо https://stackblitz.com/edit/angularjs-wxjhgd вы можете настроить его под свои нужды

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...