vue路由公用
2024-09-20 22:02:57
大体思路,一个页面,多个按钮,点击按钮后都跳转到一个路由;通过父亲传的值是什么,来决定跳那个路由;ajax数据也是通过判断来决定拉那个数据
路由;
export default {
routes: [
{
path: '/',
name: 'index',
component: ()=>import ('./Index/index.vue'),
children:[
{ // 公用这个一个路由
path: '/min',
name: 'min',
component: ()=>import ('./Index/min.vue')
}
] }, ]
}
父组件
ajax最好在父组件里面发,然后传给子组件;
<div>
//点击后传给值,并且改变type
<button @click="change('A')"></button>
<button @click="change('B')"></button>
//判断有没有的话就不显示
<min v-if="type.length !== 0" :type="type" :data="data"/>
</div> <script>
import min from "./min.vue";
export default {
data() {
return {
type: "",
data :''//数据
};
},
components: {
min
},
//监控type的变化并且重新赋值
methods: {
change(v) {
console.log(v);
this.type = v;
},
//发axios
async aj() {
const { data } = await this.axios
.get("https://www.tianqiapi.com/api/?version=v1")
.then(data => data.data);
this.data = data;
console.log(data);
},
async ajx() {
const { news } = await this.axios
.get("http://meiriyikan.cn/api/json.php")
.then(data => data.data);
this.data = news;
console.log(news);
}
},
//监控type的类型变化,然后改变axios
watch:{
'type'(){
if(this.type =='A'){
this.aj()
}else if(this.type == 'B'){
this.ajx()
}
}
}
};
</script>
子组件
<div>
// 接受父亲传过来的值,判断条件来显示那个;
<div v-if="type== 'A'">{{data}}</div>
<div v-if="type== 'B'" >{{data}}</div>
</div> <script>
import imgs from "./img";
export default {
props: ["type", "data"]
};
</script>
喜欢的小伙伴可以关注我的微信公众号“前端伪大叔”
最新文章
- 一个java的DES加密解密类转换成C#
- python datatime
- NEFU 1151 特殊的质数
- HDU 1087 Super Jumping! Jumping! Jumping! (DP)
- Apache+PHP+MySql 的安装及配置
- 使用PHP在共享内存中存储数据集
- HDU-1053-Entropy(Huffman编码)
- AsMVC:一个简单的MVC框架的Java实现
- Koa -- 基于 Node.js 平台的下一代 web 开发框架
- 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)
- winform 自定义控件的使用
- Python下载、环境变量配置、 模块安装方法
- js实现二叉树
- SSM-MyBatis-10:Mybatis中SqlSession的getMapper()和简单的工具类MyBatisUtils
- linux c 开发通用结构,框架
- CEF 跨域访问iframe
- mutect/mutsig/gistic官网汇总
- hdu 1966 Pie
- java线程池(一)
- 聊聊flink Table的groupBy操作