如何在AngularJS 1.6.1版中获得控制器的服务功能

时间:2017-01-23 06:07:12

标签: angularjs

我的脚本有问题,我想使用JSON输出从数据库中获取数据。

[{"id_admin":"2","username":"mac","password":"macgeeky","nama_lengkap":"Mac Geeky"}]

这是我的角色剧本:

app.controller('welcomeControl', ['$scope', function($scope){
    $scope.head_msg = {
        head: 'CONTROL PANEL',
        body: 'Ini merupakan halaman yang hanya dapat diakses oleh administrator, pada bagian atas dan samping kiri halaman website ' +
              'terdapat beberapa menu yang dapat ditelusuri untuk melakukan pengelolaan informasi.'
    };

    $scope.img_wel = './images/icon_topsis.png';
    $scope.welcome_text = 'Selamat Datang di Aplikasi Penilaian Guru Teladan Pada Dinas Pendidikan dengan menggunakan ' +
                          'Metode Topsis.';
}]);

app.controller('administratorControl', ['$scope', 'administratorService', '$http', function($scope, administratorService, $http) {
    $scope.head_msg = {
        head: 'ADMINISTRATOR',
        body: 'Pada halaman ini anda dapat melakukan pengelolaan data administrator'
    }

    $scope.data = administratorService.getListData('./sys/mac.php?act=administrator');
}]);

app.service('administratorService', ['$http', function($http){
    this.getListData = function(link){
        $http({url: link})
        .then(function(response) {
            return response.data;
        });
    }
}]);

如何在AngularJS中获取控制器的服务功能? 顺便说一句,我正在使用angular JS版本1.6.1。

1 个答案:

答案 0 :(得分:0)

将您的服务和administratorControl控制器更改为

.controller('administratorControl', function($scope, administratorService) {
      $scope.head_msg = {
            head: 'ADMINISTRATOR',
            body: 'Pada halaman ini anda dapat melakukan pengelolaan data   administrator'
       }
     administratorService.getListData('./sys/mac.php?act=administrator')
       .then(function(data) {
         console.log(data)
       });
   })
   .service('administratorService', ['$http', '$q', function($http, $q) {
     this.getListData = function(link) {
       var deferred = $q.defer();

       $http({
           url: link
         })
         .then(function(response) {
           deferred.resolve(response.data);
         });
       return deferred.promise;
     }

   }])

结帐fiddle