今天是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>