Как автоматически вызывать метод внутри контроллера в Angular.js? - PullRequest
0 голосов
/ 04 октября 2018

Я недавно узнал о Angular.js.Здесь я интегрирую Angular.js с Beego (Go Framework) для разработки одностраничного приложения.Я не понимаю, как автоматически вызывать метод внутри углового контроллера?

Вот мой угловой контроллер:

angular.module('myApp')
    .controller('BarangMasukController', ['$scope', '$http', 'myServices', function ($scope, $http, myServices) {
        var initializeTask = function () {
            myServices.testAPI()
                .then(function (response) {
                    $scope.Sa = response.data.S;
                    $scope.Da = response.data.D;
                    console.log("Sa"+$scope.Sa);
                    console.log("Da"+$scope.Da);
                });
        }
        initializeTask();         
}]);

Мой угловой сервис:

angular.module('myApp')
.factory('myServices', ['$http', function ($http) {
    return {
        //testapi
        testAPI: function () {
            return $http.get('/myapi');
        },
    };
}]);

мои угловые маршруты:

angular.module('myApp').config(function($routeProvider, $locationProvider) {
    $routeProvider
    .when("/testAPI", {
      templateUrl: "static/views/penjualan/manage_penjualan.tpl",
      controller: 'BarangMasukController' 
    })
      .otherwise({
        redirectTo: '/'
      });

      $locationProvider.html5Mode(true);

  });

Как видите, мне нужно вызвать метод initializeTask () вручную в моем контроллере.Проблема возникает, когда внутри моего контроллера есть несколько методов.Пожалуйста, помогите.

1 Ответ

0 голосов
/ 04 октября 2018

Если вы хотите, чтобы ваши методы вызывались автоматически, вы можете использовать выражение немедленного вызова функции (IIFE) из JavaScript, которое является функцией, которая запускается сразу после ее определения.

(function () {
    // logic here
})();

См.Руководство разработчика Mozilla для получения дополнительной информации info .

Если вы хотите поместить все свои логики инициализации в метод и если вы используете components, тогда вы можете использовать angularjs $onInit()хук жизненного цикла, который будет автоматически вызываться после того, как все контроллеры элемента будут созданы и инициализированы их привязки.Более подробную информацию можно найти здесь .

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