0

コントローラのサービスにアクセスしようとして問題が発生しています。この問題は、Ordenesサービスが呼び出されたときに発生します。 ui-routerを使用するコントローラからスコープの値を使用して2つのパラメータでサービスを呼び出す方法はありますか?ui-routerコントローラのサービスにアクセスする際の問題

私は同じコードを使用していますが、ui-routerは使用していません。コードがコントローラ内のサービスを正しくロードしていないようです。

App.js

'use strict'; 

app = angular.module('logica-erp', [ 
    'ngCookies', 
    'ngResource', 
    'ngSanitize', 
    'ui.router', 
    'authorization', 
    'ui.router.stateHelper', 
    'logica-erp.kds', 
    'logica-erp.pos' 
]) 

app.run(function($rootScope) { 
    $rootScope.$on("$stateChangeError", console.log.bind(console)); 
}); 

app.config(function ($stateProvider, $urlRouterProvider) { 
    //delete $httpProvider.defaults.headers.common['X-Requested-With']; 
    $urlRouterProvider.otherwise('/'); 
    $stateProvider 
     .state('index', { 
     url: '/', 
     templateUrl: 'views/main.html', 
     controller:'MainCtrl' 
     }) 
     .state('comanda', { 
     url: '/comanda', 
     templateUrl: 'views/comanda.html', 
     controller:'ComandaCtrl' 
     }) 
     .state('counter', { 
     url: '/counter', 
     templateUrl: 'views/counter.html', 
     controller:'CounterCtrl' 

     }) 
    }) 

comanda.js

(function() { 
    'use strict'; 
    var app; 

    app = angular.module('logica-erp.kds', ['timer', 'logica-erp.service.pos']); 

    this.ComandaCtrl = [ 
    '$scope', '$interval', 'Ordenes', function($scope, $interval, Ordenes) { 
     var error, stop, success, tick; 
     $scope.tiempos = [ 
     { 
      name: '15 seg', 
      value: 15000 
     }, { 
      name: '30 seg', 
      value: 30000 
     }, { 
      name: '60 seg', 
      value: 60000 
     }, { 
      name: '120 seg', 
      value: 120000 
     } 
     ]; 
     $scope.selected_tiempo = $scope.tiempos[1]; 
     $scope.tipos = [ 
     { 
      name: 'Alimentos', 
      value: 'a' 
     }, { 
      name: 'Bebidas', 
      value: 'b' 
     }, { 
      name: 'Todos', 
      value: '' 
     } 
     ]; 
     $scope.selected_tipo = $scope.tipos[2]; 
     success = function(result) { 
     if (angular.toJson(result) !== angular.toJson($scope.ordenes)) { 
      $scope.isLoading = true; 
      $scope.ordenes = result; 
      console.log(JSON.stringify($scope.ordenes)); 
     } 
     return $scope.isLoading = false; 
     }; 
     error = function(error) { 
     console.log('error ' + error); 
     return $('#modal').foundation('open'); 
     }; 
     tick = function() { 
     $scope.platos = Ordenes.query({ 
      tipo: $scope.selected_tipo.value, 
      sucursal: 2 
     }); 
     return $scope.platos.$promise.then(success, error); 
     }; 
     tick(); 
     stop = $interval(tick, $scope.selected_tiempo.value); 
     $scope.change_refresh = function() { 
     $interval.cancel(stop); 
     return stop = $interval(tick, $scope.selected_tiempo.value); 
     }; 
     return $scope.update_order = function(mesa, aaybb_id) { 
     return angular.forEach($scope.ordenes.mesas, function(orden) { 
      if (orden.mesa === mesa) { 
      return angular.forEach(orden.aaybb, function(aaybb) { 
       if (aaybb._id === aaybb_id) { 
       if (aaybb.estatus === 'ASIGNADO') { 
        aaybb.estatus = 'EN PROCESO'; 
       } else if (aaybb.estatus === 'EN PROCESO') { 
        aaybb.estatus = 'PREPARADO'; 
        $('#timer_' + aaybb._id)[0].stop(); 
       } 
       return Ordenes.update(aaybb); 
       } 
      }); 
      } 
     }); 
     }; 
    } 
    ]; 

    app.controller('ComandaCtrl', ComandaCtrl); 

}).call(this); 

コンソール私は問題を修正

Error: value is undefined 
extractParams/<@http://127.0.0.1:9000/bower_components/angular-resource/angular-resource.js:344:11 
[email protected]://127.0.0.1:9000/bower_components/angular/angular.js:336:11 
[email protected]://127.0.0.1:9000/bower_components/angular-resource/angular-resource.js:343:9 
ResourceFactory/</Resource[name]@http://127.0.0.1:9000/bower_components/angular-resource/angular-resource.js:398:39 
this.ComandaCtrl</[email protected]://127.0.0.1:9000/scripts/controllers/comanda.js:72:25 
this.ComandaCtrl<@http://127.0.0.1:9000/scripts/controllers/comanda.js:78:7 
+0

解決策を使用する必要がありますか? –

+0

問題のある行は$ scope.platos = Ordenes.query({...}です –

答えて

0

をログに記録し、それが角度-リソースlibに古いバグでした。私は知りませんでしたが、私のベアはバージョン1.0.7をインストールしていました:とにかくS;これは非常に迷惑だった。

関連する問題