Vue.js路由组件vue-router使用方法详解
使用Vue.js+vue-router创建单页应用是非常简单的。只需要配置组件和路由映射,然后告诉vue-router在哪里渲染即可。
一、普通方式基本例子:
<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>vue-router使用方法</title>
</head>
<body>
<divid="app">
<h1>HelloApp!</h1>
<p>
<!--使用router-link组件来导航.-->
<!--通过传入`to`属性指定链接.-->
<!--<router-link>默认会被渲染成一个`<a>`标签-->
<router-linkto="/foo">GotoFoo</router-link>
<router-linkto="/bar">GotoBar</router-link>
</p>
<!--路由出口-->
<!--路由匹配到的组件将渲染在这里-->
<router-view></router-view>
</div>
<scriptsrc="https://unpkg.com/vue/dist/vue.js"></script>
<scriptsrc="https://unpkg.com/vue-router"></script>
<script>
//1.定义(路由)组件。
//可以从其他文件import进来
constFoo={template:'<div>foo</div>'}
constBar={template:'<div>bar</div>'}
//2.定义路由
//每个路由应该映射一个组件。其中"component"可以是
//通过Vue.extend()创建的组件构造器,
//或者,只是一个组件配置对象。
constroutes=[
{path:'/foo',component:Foo},
{path:'/bar',component:Bar}
]
//3.创建router实例,然后传`routes`配置
constrouter=newVueRouter({
routes//(缩写)相当于routes:routes
})
//4.创建和挂载根实例。
//记得要通过router配置参数注入路由,
//从而让整个应用都有路由功能
constapp=newVue({
router
}).$mount('#app')
//现在,应用已经启动了!
</script>
</body>
</html>
二、块化机制编程基本例子,以在vue-cli中的使用方法为例
安装vue-router插件
#npminstallvue-router--save-dev
在src文件夹下面的components文件夹下新建Foo.vue、Bar.vue两个组件,在Foo组件写入以下内容
<template> <div>foo</div> </template>
在Bar.vue组件中写入以下内容
<template> <div>bar</div> </template>
打开src文件夹下面的app.vue文件,修改代码为
<template> <divid="app"> <router-view class="view" keep-alive transition transition-mode="out-in"> </router-view> </div> </template>
这里用router-view来把刚才新建的两个页面加载到这里来,修改src文件夹下面的main.js文件
importVuefrom'vue'
importAppfrom'./App'
//引用路由插件
importVueRouterfrom'vue-router'
//使用路由插件
Vue.use(VueRouter)
//引入组件
importFoofrom'./components/Foo'
importBarfrom'./components/Bar'
constroutes=[
{path:'/foo/',component:Foo},
{path:'/bar/',component:Bar},
]
//使用路由规则
constrouter=newVueRouter({
routes
})
//加载路由规则
newVue({
router,
el:'#app',
render:h=>h(App)
})
然后运行npmrundev查看效果吧。
本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。
关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。
更多vue学习教程请阅读专题《vue实战教程》
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。