-
Notifications
You must be signed in to change notification settings - Fork 0
/
search.xml
19 lines (19 loc) · 3.67 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title><![CDATA[Vue路由的传参方式]]></title>
<url>%2F2019%2F08%2F27%2Fvue-router%2F</url>
<content type="text"><![CDATA[Vue路由的传参方式路由的定义123456789{ path: '/home', component: () => import('./views/home.vue')}{ path: '/category', name: 'category', component: () => import('./views/category.vue')} params传参方式 关于params 类似post传参方式 只能用name来引入路由 在浏览器地址栏中不显示参数 页面刷新后参数不存在 12345// params如何携带参数?this.$router.push({name: 'category', params: { id: 10086 }});// params如何接收参数?this.$route.params.id; query传参方式 关于query 类似get传参方式 用path来引入路由 在浏览器地址栏中显示参数 页面刷新后参数还存在 12345// query如何携带参数?this.$router.push({path: '/home', query: { id: 10010 }});// query如何接收参数?this.$route.query.id; route-link传参方式 关于route-link 类似get传参方式 用path来引入路由 在浏览器地址栏中显示参数 页面刷新后参数还存在 12345678910111213// 关于route-link,我们要重新定义一下路由的path路径,用查询字符串的方式来传递和接收参数// 定义如下// /:[参数名] 可以加多个,达到多个参数的传递和接收{ path: '/goodsdetail/:id', component: () => import('./views/goodsdetail.vue')}// route-link如何携带参数?<route-link to="/goodsdetail/10000" />// route-link如何接收参数?this.$route.params.id;]]></content>
<tags>
<tag>vue</tag>
</tags>
</entry>
<entry>
<title><![CDATA[一个例子让你明白Vue的Key值]]></title>
<url>%2F2019%2F08%2F16%2Fvue-key%2F</url>
<content type="text"><![CDATA[123456789101112131415161718192021222324252627282930313233343536373839<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <script src="https://unpkg.com/vue/dist/vue.min.js"></script> <title>Vue</title></head><body> <div id="app"> <template v-if="type === 'name'"> <label for="user">用户名:</label> <input type="text" id="user" placeholder="输入用户名" key="user-input"> </template> <template v-else> <label for="mail">邮箱:</label> <input type="email" id="mail" placeholder="输入邮箱" key="mail-input"> </template> <button @click="handleToggleClick">切换输入类型</button> </div></body><script> let app = new Vue({ el: '#app', data: { type: 'name', }, methods: { handleToggleClick() { this.type = this.type === 'name' ? 'mail' : 'name'; } } })</script></html> 如上例子,我们先来做个约定 把id为user的input输入框称为A 把id为user的input输入框称为B 加Key值的情况下如上例子,在加key值的情况下,我们做如下操作 在A输入框输入一段Hello World; 点击button按钮切换输入类型; 不加Key值的情况下如上例子,在不加key值的情况下,我们做如下操作 在A输入框输入一段Hello World; 点击button按钮切换输入类型; 如上我们可以得出结论,Vue刷新DOM结构的时候会复用input组件,而key值就是用来区分用的,每个key值需要是唯一的值,这样Vue在刷新DOM结构的时候就不会复用你的组件了]]></content>
<tags>
<tag>vue</tag>
</tags>
</entry>
</search>