简体   繁体   English

为什么两次返回索引后不能返回页面?

[英]Why can't go back page after twice back to index?

I'm using Cordova + Framework 7 我正在使用Cordova + Framework 7

  • I have 3 page : index , page1 , page2 我有3个页面: indexpage1page2
  • When i back to index like this page2 -> page1 -> index, i can't press go page1 button in index.html. 当我回到此page2-> page1-> index之类的索引时,我无法按index.html中的go page1按钮。 I must reload index page, the go page1 button so working. 我必须重新加载索引页,然后go page1按钮go page1正常工作。

routes.js routes.js

{
    path: '/page1/',
    async: function (routeTo, routeFrom, resolve, reject) {
        axios.get('').then(response => {
            var data = response.data;
            resolve({
                componentUrl: './pages/page1.html'
            }, {
                context: {
                    data: data,
                }
            });
        })
    }
}, {
    path: '/page2/:id',
    async: function (routeTo, routeFrom, resolve, reject) {
        axios.get('' + id).then(function (response) {
            var data = response.data;
            resolve({
                componentUrl: './pages/page2.html'
            }, {
                context: {
                    data: data
                }
            });
        })

    }
}

Back button in page1, page2 第1页,第2页中的“后退”按钮

<a href="#" class="back link" data-force="true">
    <img src="img/icon-back.png" alt="">
</a>

Button go to page1 in index.html 按钮转到index.html中的page1

.html html的

<a href="#" class="button button-raised button-fill" id="go-page1">go page1</a>

.js .js文件

$$('#go-page1').on('click', function () {
    app.views.main.router.navigate('/page1/');

}

Button go to page2 in page1 按钮转到第1页的第2页

{{#each data}}
<div class="col">
    <div class="card demo-card-header-pic">
        <a href="/page2/{{id}}">{{name}}</a>
    </div>
</div>
{{/each}}

you can fix that by one from these solution: 您可以通过以下解决方案一一解决:

1) 1)

$$('#go-page1').on('click', function () {
    app.views.main.router.navigate('/page1/', {reloadCurrent: true});

}

2) or in html link 2)或html链接中

<a class="back" data-ignore-cache="true" data-force="true">back</a>

3) ignore cache/history or refresh prev page by reloadPrevious like this: 3)忽略缓存/历史记录或通过reloadPrevious刷新上一页,如下所示:

mainView.router.back({url: 'index.html', force: true, ignoreCache: true,reload: true});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM