一、.vue文件
我们使用Vue的单文件组件的时候,一个.vue文件就是一个组件。
例如我们创建一个School组件:
二、组件的结构
我们编写网页代码的时候有HTML结构、CSS样式、JS交互。
组件里也是同样存在这三种结构的:
javascript
<template>
<div>
<!-- 模板 -->
</div>
</template>
<script>
// 交互
</script>
<style>
/* 样式 */
</style>
模板中必须要用一个div标签包住所有的模板,不然会报错。
然后将模板的内容写在template中,Vue的内容写在script中,style正常写样式即可。
javascript
<template>
<div>
<div>学校名称:{{ name }}</div>
<div>学校地址:{{ address }}</div>
<button @click="showHello">点我弹窗</button>
</div>
</template>
<script>
export default {
name:"School",
data() {
return {
name: "家里蹲大学",
address: "家",
}
},
methods: {
showHello() {
alert("Hello!");
},
}
};
</script>
<style>
button{
background-color: skyblue;
}
</style>
这里的VueComponent必须暴露出去外界才能引用到这个组件。
三、App.vue
当我们创建完所有的组件的后,全部都交由App.vue进行统一管理。
先对组件进行引入,然后配置components,最后在模板中使用组件:
javascript
<template>
<div>
<School/>
<Student/>
</div>
</template>
<script>
import School from './School.vue';
import Student from './Student.vue';
export default {
name: "App",
components: {
School,
Student
}
}
</script>
四、main.js
main.js为入口文件,主要管理App.vue文件。
需要创建Vue实例对象和挂载Vue:
javascript
import App from "App.vue";
new Vue({
el: "#root",
template: `<App></App>`,
components: {
App
}
})
五、index.html
配置root根元素和引入入口文件:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="root"></div>
<script src="/js/vue.js"></script>
<script src="/单文件组件/main.js"></script>
</body>
</html>
所以最终文件结构如下: