|
@@ -1,16 +1,30 @@
|
|
|
<template>
|
|
|
<div id="app">
|
|
|
-
|
|
|
-
|
|
|
<nav>
|
|
|
<router-link to="/">Home</router-link> |
|
|
|
<router-link to="/about">About</router-link> |
|
|
|
<!-- router-link 组件是用来实现页面跳转的 -->
|
|
|
<!-- 路由链接的to属性指定跳转的路径 这个路径就是在router/index.js中配置path -->
|
|
|
<!-- <router-link to="/pageone">页面一</router-link> | -->
|
|
|
- <router-link :to="{name:'pageone',params:{a:100,b:'hello'}}">页面一</router-link> |
|
|
|
+ <!-- 路由参数 to后边跟一个对象 name 要跳转的页面路由名称 params是要传递的参数 -->
|
|
|
+ <router-link :to="{ name: 'pageone', params: { a: 100, b: 'hello' } }"
|
|
|
+ >页面一</router-link
|
|
|
+ >
|
|
|
+ |
|
|
|
+
|
|
|
+ <!-- <router-link to="/pagetwo">页面二</router-link> -->
|
|
|
+ <!-- 路由参数 to后边跟一个对象 name 要跳转的页面路由名称 query是要传递的参数 -->
|
|
|
+ <!-- query 方式传递参数通过url 拼接参数 ?后边是参数多个参数用&符号连接 ?id=1001&a=hello -->
|
|
|
+ <!-- query 整体使用方式类似于params 但是query传递的参数刷新页面仍然存在 -->
|
|
|
+ <router-link :to="{ name: 'pagetwo', query: { id: 1001, a: 'hello' } }"
|
|
|
+ >页面二</router-link
|
|
|
+ > |
|
|
|
+
|
|
|
+ <router-link to="/pagethree/1001">页面三</router-link> |
|
|
|
|
|
|
- <router-link to="/pagetwo">页面二</router-link>
|
|
|
+ <router-link to="/backhome">返回首页</router-link> |
|
|
|
+ <router-link to="/onepage">页面一别名</router-link> |
|
|
|
+ <button @click="goPage">跳转页面二</button>
|
|
|
|
|
|
<!-- 实现页面跳转分为3步 -->
|
|
|
<!-- 第一步创建组件页面 vue文件 -->
|
|
@@ -18,11 +32,50 @@
|
|
|
<!-- 第三步 在路由组件中添加路由出口 -->
|
|
|
</nav>
|
|
|
<!-- 用来显示跳转的页面部分 -->
|
|
|
- <router-view />
|
|
|
+ <!-- transition 一般是给页面、组件、标签显示隐藏时加一些动态效果 -->
|
|
|
+ <transition name="fade">
|
|
|
+ <router-view />
|
|
|
+ </transition>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
-
|
|
|
+<script>
|
|
|
+ export default{
|
|
|
+ name:"App",
|
|
|
+ methods:{
|
|
|
+ goPage(){
|
|
|
+ // 用js实现页面跳转 编程式导航
|
|
|
+ // this.$router.push("/pagetwo");// 直接跳转到页面二path
|
|
|
+ // router-link 路由链接的to属性指定跳转的路径 这里都写在push方法中
|
|
|
+ this.$router.push({
|
|
|
+ name:"pagetwo", // 路由名称
|
|
|
+ query:{
|
|
|
+ id:1006, // 路由参数
|
|
|
+ a:"world"
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
<style>
|
|
|
+
|
|
|
+.fade-enter{
|
|
|
+ opacity: 0;
|
|
|
+}
|
|
|
+.fade-enter-active{
|
|
|
+ transition:all 0.5s ease;
|
|
|
+ transition-delay: 0.5s;
|
|
|
+}
|
|
|
+.fade-leave{
|
|
|
+ opacity: 1;
|
|
|
+}
|
|
|
+.fade-leave-active{
|
|
|
+ opacity: 0;
|
|
|
+ transition:all 0.5s ease;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
#app {
|
|
|
font-family: Avenir, Helvetica, Arial, sans-serif;
|
|
|
-webkit-font-smoothing: antialiased;
|