javascript - vue 动态改微信分享文案的问题
高洛峰
高洛峰 2017-07-05 10:56:20
[JavaScript讨论组]

现在是这样的 有一个需求 当我在首页分享的时候标题 是 aaaa 当我在详情页分享的时候标题是 bbb 但是页面一加载 文案就定死了 我如何动态改分享的文案 我使用的是vue2 代码如下

我写在main.js中 一开始执行就加载了
一开始定义了 var title = 'aaaa' desc = 'bbbb'
我的做法是 在路由跳转到详情页的时候 title 改变

router.beforeEach(function (to, from, next) {
  if (to.path.indexOf('/details') != -1) { // 当跳转到这个页面时候改变title
    title = 'cccc';
    desc = 'dddd'
  } else {
    title = 'aaaa';
    desc = 'bbbb';
  }
}

但是这样做不行 不知道为什么 从一开始加载 title就永远是 aaa了 除非我在详情页刷新 此时才会重新new vue的实例 才会改变title

分享代码如下:

  wx.onMenuShareAppMessage({ // 分享给朋友
    title: title, //   我需要动态改这个标题
    desc: desc,   //   动态改这个描述
    link: '',     // 分享链接 默认以当前链接
    imgUrl: imgUrl + '/static/images/share.png',// 分享图标
    // 用户确认分享后执行的回调函数
    success: function () {
              
        });
      }
    },
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
学习ing

你的微信分享功能的初始化应该是在全局做的。我觉得可以将wx分享封装成一个函数,然后将需要修改的参数暴露成接口,你这里的title。然后在不同的路由(组件)中去完成注册以及配置。

PHP中文网
        setPageTitle:function(video){
            document.querySelector('head title').innerText =  video.title;
            // hack微信等webview中无法修改标题
            var iframe = document.createElement('iframe');
            iframe.addEventListener('load', function () {
                setTimeout(function(){document.body.removeChild(iframe)},0) ;
            });
            document.body.appendChild(iframe);
            // 标题(内容)
            document.querySelector('.video_title').innerText = video.title;
        },
ringa_lee

推荐一款修改title的组件

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号