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