Vue组件嵌套的理解与mixin的使用


前言

一个简单的基于Vue-Cli小Demo,有助于理解组件化思想与mixin的使用。


一、安装Vue-Cli

1. //安装脚手架
2. npm i -g  @vue/cli
3. //查看vue版本
4. vue -V

在这里插入图片描述

二、初始化项目

1.创建项目

1.vue create test1
2.cd test1 
3.npm run serve

2.编写组件

1.首先在components下创建student.vue:

<template>
<div>
    <h2>姓名:{{ name }}</h2>
    <h2>年龄:{{ age }}</h2>
</div>
</template>
<script>
export default {
    name: "student",
    data() {
        return {
            name: "zwt",
            age: 12,
        };
    },
};
</script>
<style lang="scss" scoped></style>

2.创建school.vue 并引入student.vue作为子组件并使用:

<template>
<div>
    <h2>校名:{{ name }}</h2>
    <h2>地区:{{ area }}</h2>
    <hr />
    <student />
</div>
</template>
<script>
import student from './student.vue';
export default {
    name: "school",
    data() {
        return {
            name: "福建医科大学",
            area: "福建",
        };
    },
    components: {
        student
    }
};
</script>

<style lang="scss" scoped></style>

3.在App.vue中引入student组件并使用:

<template>
<div id="app">
    <school />
</div>
</template>
<script>
import school from "./components/school";
export default {
    name: "app",
    components: {
        school,
    },
};
</script>
<style></style>

3.运行

在这里插入图片描述
可以看到App下管理着school组件,school组件下有一个子组件student。

三、mixin的使用

对mixin的理解:可以把多个组件相同的配置项或者共同使用的东西放在一个js文件中,当需要使用的时候可以通过mixins引入对应的模块。

1.用法1

1.在src/mixin下创建mixin.js:

export const hunhe1 = {
  methods: {
    show() {
      alert("我是mixin带来的方法");
    },
  },
};

2.分别给student和school的姓名和校名对应的h2标签添加相同的show方法:

//student.vue
<h2 @click="show">姓名:{{ name }}</h2>
//school.vue
<h2 @click="show">校名:{{ name }}</h2>

3.对两个组件同时引入并使用mixin:

//引入
import {hunhe1} from '../mixin/mixin.js'
//使用
mixins:[hunhe1]

效果展示

点击姓名和校名都会弹出show方法:
在这里插入图片描述

2.用法2

1.若组件之间有相同的属性,同样可以使用mixin
2.在mixin.js中添加hunhe3

export const hunhe3 = {
  data() {
   return {
       x:1,
       y:1
   }
  },
};

3.同理在student和school中引入使用:

//引入
import {hunhe1} from '../mixin/mixin.js';
//使用
 mixins:[hunhe1,hunhe3]

效果展示

school组件和student组件中有相同属性x和y:
在这里插入图片描述
在这里插入图片描述


总结

例子简单,但是有助于理解组件化思想与mixin的使用。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值