TaigaTakeshita
@TaigaTakeshita (tig t)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

onsenUIのナビゲーション:poppage()について質問

解決したいこと

アラートで「OK」を押したあと、poppage()を使って自動で前の画面に戻りたい

例)
onsenUIの画面遷移について、
①A.html
②B.html
以上、二つの画面間の遷移を「pushpage()」と「poppage()」を使用して
行ったり来たりしたいと考えているのですが、うまくいかないためアドバイスいただきたいです。

発生している問題・エラー

Uncaught (in promise) ReferenceError: navi is not defined
    at window.fn.load
    at <anonymous>:41:18

該当するソースコード

[index.html]

<script>
window.fn = {};
window.fn.openSideMenu = function(){
const sidemenu = document.getElementById('sidemenu');
sidemenu.open();
};
window.fn.load = function(type,page,title,data) {
console.log('openNavi');
document.getElementById('sidemenu').close();
const tabbar = document.getElementById("appTabbar");
const appNavi = document.getElementById("appNavi");
document.getElementById("tabbarArea").hidden = true
document.getElementById("naviArea").hidden = true
document.querySelector('ons-toolbar .center').innerHTML = title;
console.log(`type = ${type}`);
if ( type == 'replace') {
    console.log('replace');
    document.getElementById("naviArea").hidden = false
    appNavi.replacePage(page,data)
} else if ( type == 'reset'){
    console.log('reset');
    document.getElementById("naviArea").hidden = false
    appNavi.resetToPage(page,data)
} else if ( type == 'push'){
    console.log('push');
    document.getElementById("naviArea").hidden = false
    appNavi.pushPage(page,data)
} else if ( type == 'pop'){
    console.log('pop');
    document.getElementById("naviArea").hidden = false
    navi.pageLoader.unload(navi.pages[1]);
    appNavi.popPage();
} else {
    document.getElementById("tabbarArea").hidden = false;
    tabbar.setActiveTab(page);
}

[B.html](A.htmlは省略)

// 確認メッセージ
if( confirm("削除すると、ユーザーはログインできなくなります。本当にこのユーザーを削除しますか?") ) {
// rejectロールに追加
    deleteRole.addUser(deleteUser).update().then(function (role){
      //成功した場合の処理
      console.log('Success role change in reject')
    });
    // userロールから削除
    userRole.removeUser(deleteUser).update().then(function (role){
      //成功した場合の処理
      console.log('Success role remove from user')
    });
    ons.notification.alert({message:"削除処理完了"});
    fn.load('pop','B.html','一覧')
}
// 拒否キャンセル時メッセージ
else {
    alert("削除をキャンセルしました");
}

自分で試したこと

ons.notification.alert({message:"削除処理完了"});のあと
fn.load('pop','B.html','一覧')
を追加してみたり、いろいろしてみましたが、うまくいきません。
他の人から引き継いだ部分もあり、初心者の私では難しいため、アドバイスいただきたいです。
よろしくお願いいたします。

0

No Answers yet.

Your answer might help someone💌