VUE第十一天

75 阅读1分钟

今天是2022年6月30日,是我学习vue的第十一天

今天也是2022年上半年的最后一天

单文件组件

一个vue文件的组成部分

<!-- 第一部分:页面模板 -->
<template>
  
</template>

<!-- 第二部分:js模块对象 -->
<script>
    // 组件交互代码(数据、方法等)
    export default {

    }
</script>

<!-- 第三部分:组件的样式 -->
<style>
/*  */
</style>

index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>单文件组件</title>
</head>

<body>
    <div id="root">
        <App></App>
    </div>
    <script src="../../vue_basic/js/vue.js"></script>
    <script src="./main.js"></script>
    <script>
        Vue.config.productionTip = false
    </script>
</body>

</html>

main.js

import App from './App.vue'
// 创建Vue实例
new Vue({
    el: '#root',
    components: {
        App
    }

})

App.vue

<template>
  <div>
    <School></School>
    <Student></Student>
  </div>
</template>

<script>
//引入组件
import School from "./School.vue";
import Student from "./Student.vue";

export default {
  name: "App",
  components: {
    School,
    Student,
  },
};
</script>

<style>
</style>

School.vue

<template>
  <div class="demo">
    <h2>学校名称:{{ schoolName }}</h2>
    <h2>学校地址:{{ address }}</h2>
    <button @click="showName">点我提示学校名</button>
  </div>
</template>

<script>
export default {
  name: "School",
  data() {
    return {
      schoolName: "尚硅谷",
      address: "北京",
    };
  },
  methods: {
    showName() {
      console.log(this.schoolName);
    },
  },
};
// export default school
</script>

<style>
.demo {
  background-color: pink;
}
</style>

Student.vue

<template>
  <div class="demo">
    <h2>学生姓名:{{ name }}</h2>
    <h2>学生年龄:{{ age }}</h2>
    <button @click="showName">点我提示学生姓名</button>
  </div>
</template>

<script>
export default {
  name: "Student", //指定组件在开发者工具中的名字
  data() {
    return {
      name: "giao",
      age: 18,
    };
  },
  methods: {
    showName() {
      alert(this.name);
    },
  },
};
// export default school
</script>

<style>
.demo {
  background-color: gray;
}
</style>