经常在项目中会有支持 pc 与手机端需求。并且pc与手机端是两个不一样的页面。这时就要求判断设置,根据不同的设置跳转不同的路由。

【代码演示】

  在 router/index.js 中有两个页面。

  1. export default new Router({
  2. mode: \'history\',
  3. routes: [
  4. {
  5. path: \'\',
  6. redirect: \'/pc_index\'
  7. },
  8. {
  9. path: "/pc_index", // pc端首页
  10. name: PcIndex,
  11. component: PcIndex
  12. },
  13. {
  14. path: \'/m_index\', // 手机端首页
  15. name: MIndex,
  16. component: MIndex
  17. }
  18. ]
  19. })

  在 App.vue 的 mounted 方法中对设置进行判断,如下:

  1. mounted() {
  2. if (this._isMobile()) {
  3. alert("手机端");
  4. this.$router.replace(\'/m_index\');
  5. } else {
  6. alert("pc端");
  7. this.$router.replace(\'/pc_index\');
  8. }
  9. }

  其中  _isMobile() 方法如下:

  1.   _isMobile() {
  2. let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
  3. return flag;
  4. }

【效果展示】

  chrome 浏览器中 pc 模式下刷新,显示如下:

  

  chrom 浏览器中 mobile 模式下刷新,显示如下:

  

  用手机真机测试也如预期弹出了 手机端 弹框。

版权声明:本文为buerjj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/buerjj/p/8612302.html