怎样使用Vuejs自定义路由

这次给大家带来怎样使用vuejs自定义路由,使用vuejs自定义路由的注意事项有哪些,下面就是实战案例,一起来看一下。

我们知道组件可以通过 template 来指定模板,对于单文件组件,可以通过 template 标签指定模板,除此之外,Vue 还提供了我们一种自定义渲染组件的方式,那就是 渲染函数 render,具体 render 的使用,请阅读官方文档。

接下来我们开始实现我们的前端路由了。

简易实现

我们先运行 vue init webpack vue-router-demo 命令来初始化我们的项目(注意初始化的时候,不要选择使用 vue-router)。

立即学习“前端免费学习笔记(深入)”;

首先,在 src 目录先创建 layout/index.vue 文件,用来作为页面的模板,代码如下:

  
          
export default { name: 'Layout',};.container { max-width: 600px; margin: 0 auto; padding: 15px 30px; background: #f9f7f5;}a.active { color: #42b983;}

登录后复制

然后,将 components/HelloWorld.vue 移动到 src/pages,并修改其代码,使用上面创建的页面模板包裹:

          import Layout from '@/layout';export default {  name: 'HelloWorld',  components: {    Layout,  },  // ...};

登录后复制

当然还需要添加一个 404页面,用来充当当用户输入不存在的路由时的界面。

最后就是我们最重要的步骤了,改写 main.js,根据页面 url 动态切换渲染组件。

定义路由映射:

// url -> Vue Componentconst routes = {  '/': 'Home',  '/hello': 'HelloWorld',};

登录后复制

添加 VueComponent 计算属性,根据 window.location.pathname 来引入所需要组件。

const app = new Vue({  el: '#app',  data() {    return {      // 当前路由      currentRoute: window.location.pathname,    };  },  computed: {    ViewComponent() {      const currentView = routes[this.currentRoute];      /* eslint-disable */      return (        currentView          ? require('./pages/' + currentView + '.vue')          : require('./pages/404.vue')      );    },  },});

登录后复制

实现渲染逻辑,render 函数提供了一个参数 createElement,它是一个生成 VNode 的函数,可以直接将动态引入组件传参给它,执行渲染。

const app = new Vue({  // ...  render(h) {    // 因为组件是以 es module 的方式引入的,    // 此处必须使用 this.ViewComponent.default 属性作为参数    return h(this.ViewComponent.default);  }});

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

js基础提升学习之操作DOM对象样式

js基础提升学习之三种内置对象

js基础提升学习之基本数据类型

以上就是怎样使用Vuejs自定义路由的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2749887.html

(0)
上一篇 2025年3月8日 05:27:28
下一篇 2025年3月7日 07:01:04

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js项目中常用算法

    这次给大家带来js项目中常用算法,js项目中使用算法的注意事项有哪些,下面就是实战案例,一起来看一下。 数组去重 var arr = [1,2,3,4,4,2,2,6,9,1,0];var newArr = [];var onOff = t…

    编程技术 2025年3月8日
    200
  • mockjs怎样实现随机生成数据

    这次给大家带来mockjs怎样实现随机生成数据,mockjs实现随机生成数据的注意事项有哪些,下面就是实战案例,一起来看一下。 npm install mockjs var Mock = require(‘mockjs’)var data …

    编程技术 2025年3月8日
    200
  • JS+console[”]10种输出方法(附代码)

    这次给大家带来JS+console[”]10种输出方法(附代码),使用JS+console[”]10种输出方法的注意事项有哪些,下面就是实战案例,一起来看一下。 1、console.log是最常用的输入方法,正常化输…

    2025年3月8日 编程技术
    200
  • r.js怎样操作css文件

    这次给大家带来r.js怎样操作css文件,r.js操作css文件的注意事项有哪些,下面就是实战案例,一起来看一下。   main.css是合并的主文件,或称配置文件。要合并的文件使用@import引入。如下 main.css @import…

    2025年3月8日
    200
  • JS链式调用(附代码)

    这次给大家带来JS链式调用(附代码),使用JS链式调用的注意事项有哪些,下面就是实战案例,一起来看一下。 写过jquery的可能都知道,jquery里面可以很方便的使用以下代码: // 不使用链式调用const element = $(el…

    编程技术 2025年3月8日
    200
  • 在javaScript中如何熟练使用字符串工具类StringUtils

    这篇文章主要为大家详细介绍了javascript字符串工具类stringutils,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了javaScript字符串工具类的具体代码,供大家参考,具体内容如下 StringUt…

    编程技术 2025年3月8日
    200
  • 在javascript中如何实现异步图片上传

    给大家详细讲解一下如何通过javascript写出异步图片上传,并且把实例代码给大家分享了下,有兴趣的读者们测试一下吧。 我们首先看下HTML代码实现的form提交部分。其中大家在测试的时候需要把test的URL更换成自己的,也可以直接写一…

    编程技术 2025年3月8日
    200
  • 在vue中有关计算属性如何使用

    本篇文章主要介绍了vue计算属性的使用和vue实例的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 本文介绍了vue计算属性的使用和vue实例的方法示例,分享给大家,具体如下: 计算属性 在模板中表达式…

    编程技术 2025年3月8日
    200
  • 使用Javascript如何获取选择文本所在的句子

    这篇文章主要给大家爱介绍了关于利用javascript获取选择文本所在的句子的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。 前言 最近收到一个 issue 期望…

    编程技术 2025年3月8日
    200
  • 在javascript中如何实现按顺序加载运行js方法

    本篇文章主要教给大家如何在javascript中动态加载按顺序加载运行js的方法以及实现代码,需要的朋友参考学习下吧。 首先如果大家对JS动态加载有不理解的地方可以参阅: javascript动态加载实现方法 动态加载JS文件的三种方法 如…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论