2016-03-31 12 views
0

現在、私はangularJSを使用して更新された関数を保存しようとしています。今私はデータを編集することができますが、データはデータベース側で更新できますが、フロントエンド側では表示されません。更新された結果を表示するには、もう一度ログアウトしてログインする必要がある場合を除きます。このバグを修正する方法を知っていますか?AngularJS:データを保存できませんでした

これは私のcontroller.jsコードです:

.controller('FilmDetailController', //havent done yet 
      [ 
       '$scope', 
       'dataService', 
       '$routeParams', 
       '$location', 
       '$window', 
       'UserInfo', 

       function ($scope, dataService, $routeParams, $location,$window, UserInfo){ 
        //var userName=dataService.getSessionService('user'); 
        if(UserInfo.loggedIn){ 
         $scope.film = [ ]; 
         $scope.filmCount = 0; 

         var getFilmDetail = function (moviecode) { 
          dataService.getFilmDetail(moviecode).then(
           function (response) { 
            $scope.film = response.data.ResultSet.Result; 
            //$scope.userLoginEmail = dataService.getSessionService('userEmail'); 
            $scope.showSuccessMessage = true; 
            $scope.successMessage = "Film Success"; 
           }, 
           function (err){ 
            $scope.status = 'Unable to load data ' + err; 
           } 
          ); // end of getStudents().then 
         }; 

         $scope.editedFilm = {}; 
         $scope.save_note = function ($event,film) { 
          $scope.editedFilm = film; 
          dataService.saveNote($scope).then(
           function (response) { 
            // getFilmDetail(); 
            $window.location.href = '#/movieList'; 
            //$window.location.reload(); 
            console.log("done"); 
           }, 

           function (err){ 
            $scope.status = 'Unable to load data ' + err; 
           } 
          ); 
          // $scope.reloadRoute = function() { 
          //  $location.path('/movieList'); 
          //  $window.location.reload() 
          // }//end of reload route fnction 

         } 

         // only if there has been a courseid passed in do we bother trying to get the students 
         if ($routeParams && $routeParams.filmid) { 
         // console.log($routeParams.filmid); 
          getFilmDetail($routeParams.filmid); 
         } 
        }else{ 
         $location.path('/login'); 
        } 

       } 
      ] 
     ); 

私はノートは角側と、データベース側の両方で更新する必要があります保存音符のボタンをクリックすると。現在のところ、それは角度側を除いてデータベース側でしか更新することができません。助けを前にありがとう。

+0

を。 – panwar

+0

はい$ scope.filmを使用してデータを表示しています – anonymous5671

+0

次に、応答を更新した後、getFilmDeails()を呼び出すか、console.log( "done")の後に$ scope.editedFilmを$ scope.Filmに割り当てます。 – panwar

答えて

0

あなたのノートデータをサービスに保存する必要があり、ノートがデータベースに正常に保存されたら、新しいノートをサービスデータにプッシュする必要があるようです。

私は、単純なフィドル作成:uはフロントエンドにデータを表示するには、$のscope.filmを使用していhttps://jsfiddle.net/robrothedev/vgbqyv10/

function ItemService() { 
    var service = { 
    items: [], 
    addItem: addItem 
}; 

return service; 

function addItem(new_item) { 
    // run your http request and if the response is valid, 
    // push the new item to your service array 
    // $http.post(url,new_item).then(function(response) { 
    //  service.items.push(response.data.new_item); 
    // }); 
} 

}

function ItemsCtrl(ItemService) { 
    var vm = this; 

    vm.items = ItemService.items; 
    vm.new_item = {}; 
    vm.addItem = addItem; 

    function addItem() { 
    ItemService.addItem(vm.new_item); 
    vm.new_item = {}; 
    } 
} 
関連する問題