一、.vue文件
我们使用Vue的单文件组件的时候,一个.vue文件就是一个组件。
例如我们创建一个School组件:
二、组件的结构
我们编写网页代码的时候有HTML结构、CSS样式、JS交互。
组件里也是同样存在这三种结构的:
<template><div><!-- 模板 --></div>
</template><script>// 交互
</script><style>/* 样式 */
</style>
模板中必须要用一个div标签包住所有的模板,不然会报错。
然后将模板的内容写在template中,Vue的内容写在script中,style正常写样式即可。
<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,最后在模板中使用组件:
<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:
import App from "App.vue";new Vue({el: "#root",template: `<App></App>`,components: {App}
})
五、index.html
配置root根元素和引入入口文件:
<!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>
所以最终文件结构如下: