2016-06-16 31 views
2

私のAngularJSアプリでギターオブジェクトをアップデートする際に問題があります。これはngMockバックエンドで実行されますAngularJSアップデートが動作しません

ギターオブジェクトはupdateGuitarコントローラでアップデートされます。次に、carServiceはput要求を処理します。 問題は、私のcarViewコントローラで更新されたオブジェクトを取得することにあります。だから、location.path(/car/view/idか何かを実行すると、更新されたオブジェクトが取得されます。

は、ここに私のguitarViewコントローラです:

window.app.controller('guitarViewCtrl', ['$scope', '$routeParams', '$location', 
'GuitarService', function ($scope, $routeParams, $location, GuitarService) { 
'use strict'; 

    $scope.guitarId = $routeParams.guitarId; 
    initGuitar($scope.guitarId); 

    function initGuitar(guitarId) { 
     GuitarService.showDetails(guitarId).then(function success(guitar) { 
      $scope.guitar = guitar;    
     }, function error(response) { 
     }); 
    } 
}]); 

マイGuitarService: 誰かが、私は(私は今mock.jsでこれを行う)このサービスでは、私のギターを移入する必要があると述べたが、私は知らないどのようにIこれを行う必要があります。

window.app.service('GuitarService', ['HTTPService', '$http', function (HTTPService, $q, $http) { 
'use strict'; 

    this.showDetails = function (opleidingsprofielId){ 

     // HTTP service returns correct urls 
     return HTTPService.get('/opleidingsprofiel/view/' + opleidingsprofielId); 

    this.put = function (opformUpdate, opleidingsprofielId) { 
     var deferred = $q.defer(); 
      $http.put('/#/opleidingsprofiel/:opleidingsprofielId/update', opformUpdate) 
      .then(function resolve(response){ 
       deferred.resolve(response.data); 
       }, function reject(response){ 
       deferred.reject(response); 
       }); 
      return deferred.promise; 
      }; 
    }]); 
+0

私は自分のコードを更新しました申し訳ありませんが男は、ポスト自体を編集したはずです。前回。 – spacewalk92

答えて

0

右バットをオフにいくつかの問題...何の閉じ括弧がありませんので、this.putラインがshowDetails機能を終了する}コードが今どのように呼ばれることはないだろうし、その関数からの戻りが起こりますそれがthis.put行に到達する前に。あなたの変数インジェクションで配列 '$ q'が表示されない場合は、$ httpについてコンソールでいくつかのエラーが表示されるはずです。貼り付けたコードが実行中のコードか理想的にコードをあなたができる限り最高の「働く」ことができますplnkrまたはcodepen。

Template

this is some fake code because sometimes SO is dumb

関連する問題