22283


いつもお世話になっております。開発環境Monacaです。Monaca公式ガイドブックのサンプルアプリに、追加機能としてOnsenUiの確認ダイアログを実装したものの、その処理内容が画面に即時反映されません。

●対象サンプルアプリ  
Monaca公式ガイドブック10-2「バーコードスキャナーアプリ」  
<https://ja.monaca.io/book/zip/10-2.zip>

●追加した機能  
スキャンした履歴をクリアする際に、確認ダイアログを開くようにする。

●問題点  
リストを全てクリアする確認のダイアログで「OK」を押しても、画面上で変化しない（リストが表示されたまま）。タブで画面を一度切り替えるとクリア後の画面になっている。

→クリアボタンをおしたら、すぐにリストが消えるようにしたいです。

アドバイスを頂ければ幸いです。

【追加（変更）ソース部分】

[code]

    $scope.clearHistory = function() {
    　　ons.notification.confirm({
        　message: '全てのデータを削除しますか？',
        　title: '確認',
        　buttonLabels: ['Cancel', 'OK'],
        　primaryButtonIndex: 1,
        　cancelable: true,
        　callback: function(index) {
            if(index == 1){
                //OKクリック時
                $scope.history = [];
                $scope.saveHistory();//!!この処理が即時反映されません!!
            }                
        }            
    });   
    
[/code]

};


CC BY-SA 3.0
2016-02-19T12:33:59.373
22272
2016-02-19T17:15:34.730
14390
question
monaca onsen-ui angularjs
OnsenUiの確認ダイアログ内の処理が即時反映されない


`$scope.$apply()`を実行して更新してください。

[code]

    //OKクリック時
    $scope.history = [];
    $scope.$apply();
    $scope.saveHistory();
    
[/code]


CC BY-SA 3.0
2016-02-19T17:15:34.730
22283
2016-02-19T17:15:34.730
9566
22272
answer