2016-06-27 12 views
0

SQLite cordovaプラグインの行を数時間削除した後に、範囲内のビューを更新しようとしましたが、運がありません。スコープ配列でSQLite行を削除する空白にする

コード:$scope.remove = function() { var x = document.getElementById("name").textContent; $cordovaSQLite.execute(db, 'DELETE from table WHERE name=?', [x]) .then(function(res) { var index = $scope.listItems.indexOf(x); $scope.listItems.splice(index, 1); }, function(error) { console.log(error.message); }) };

削除が成功したが、私は戻って行く以外のページに移動する必要が私のイオンプラットフォームのアプリでリフレッシュを行うには、空白のページに私を残します。

その他のコード:$scope.showConfirm = function() { var x = document.getElementById("name").textContent; var confirmPopup = $ionicPopup.confirm({ title: 'Deleting Journal Entry', template: 'Are you sure you want to delete this item ?' }); confirmPopup.then(function (res) { if (res) { var query = "DELETE FROM chocolates where name = ?"; $cordovaSQLite.execute(db, query, [x]); $state.go($state.current, $stateParams, {reload: true, inherit: false}); console.log(x); } else { console.log('You are not sure'); }; }); };

また、このコードは、私のデータベース内の行を削除するための成功が、リフレッシュ機能が動作しません。コードと同じ前に私は別のページに移動し、カムバックして更新されたビューを表示する必要があります。

alternative 1alternative 2

から多くの回答を試してみましたが日のデバッグや読書を過ごした後感謝

+0

**誰もいないのですか? –

答えて

0

が、最終的に解決策を見つける、私は見つけることができます任意の助けを借りて、非常に感謝されます!

if (res) { 
       $ionicPlatform.ready(function() { 
        $scope.chocolates = []; 
        var query = "DELETE FROM chocolates where name = ?"; 
        $cordovaSQLite.execute(db, query, [x]); 
        $cordovaSQLite.execute(db, 'SELECT * FROM chocolates ORDER BY choc_id DESC LIMIT 1', []).then(function (res) { 
         if (res.rows.length > 0) { 
          for (var i = 0; i < res.rows.length; i++) { 
           $scope.chocolates.push(res.rows.item(i)); 
          } 
         } 
        }, function (err) { 
         console.error(err); 
        }); 
        $scope.$apply(); 
       }); 
      } else { 
       console.log('You are not sure'); 
      }; 

は、これまでのところ、これは誰もが良いアイデアを思い付くしない場合、私は自分の答えを受け入れるだろう、きれいなソリューションです。うまくいけば誰かを助けてくれるだろう。

+0

これを受け入れる.. –

関連する問題