0

页面是用framework7写的, 其中自带路由体系可以构建单页面应用,现在的开发环境是在微信公众号中。

1.现在从父页面进入到子页面后,调用微信分享的接口,将子页面分享出去,用户点击进入页面时,会先加载父页面,然后再进入到子页面。
2.

myApp.onPageBack('lockFansCard',function(page){
    location.reload(true);
})

调用f7 自带的页面返回的回调,执行强制刷新,页面也是先加载父页面,再进入到子页面。

这种情况是由于f7 自身路由的原因导致的吗? 如何避免呢?

前端新手,望得前辈解答,万分感谢。

1个回答

0

Framework7是有这问题,需要在每个子页面的js文件里单独写自己独立的分享代码,通过改link的方式直接把最终终分享出去的链接改成真正想达到的目的地:

function getProjDetail(proj_id) {
    $$.ajax({
        url: 'http://' + api_host + '/projectsp/detail?id=' + proj_id),
        dataType: 'json',
        success: function (json) {
            // 分享链接
            wx.ready(function () {
                // 分享给朋友或群组
                wx.onMenuShareAppMessage({
                    title: json.pro_name,
                    desc: json.pro_slogon + '\n' + json.field_name,
                    link: 'http://' + www_host + '/html/projdetail.html?id=' + proj_id + '&corpid=' + appid + '&agentid=' + agentid,
                    imgUrl: json.pro_logo,
                    type: 'link',
                    dataUrl: '',
                    success: function () {
                    },
                    cancel: function () {
                    },
                });
                // 分享到朋友圈
                wx.onMenuShareTimeline({
                    title: json.pro_name,
                    link: 'http://' + www_host + '/html/projdetail.html?id=' + proj_id + '&corpid=' + appid + '&agentid=' + agentid,
                    imgUrl: json.pro_logo,
                    success: function () {
                    },
                    cancel: function () {
                    },
                });
            });
        },
    });
}

myApp.onPageInit('projdetail', function (page) {
    var proj_id;
    if (typeof page.query.id === 'undefined') {
        proj_id = getUrlParameter('id');
    } else {
        proj_id = page.query.id;
    }

    getProjDetail(proj_id);
});

撰写答案