xxx.vue
以.vue
结尾的文件是不能被浏览器直接运行的。需要将.vue
文件进行加工处理转换成js
文件再交给浏览器运行。
一个组件一般至少包换三个要素:
- html
- css
- js
Vue 提供了与之对应的三个标签:
html:<template></template>
组件的结构js:<script></script>
组件交互相关的代码(数据、方法等等)css:<style></style>
组件的样式3.1 创建 School.vue 组件
创建组件要注意要将组件暴露export
出去,其他地方才能调取的到自定义的组件
暴露的方式:
分别暴露:export const school = Vue.extend({})
统一暴露:const school = Vue.extend({}); export {school }
默认暴露:export default{}
暴露名name:'School'
最好跟文件名保持一致 ```vue学校名称:{{name}}
学校地址:{{address}}
<a name="GaJlh"></a>
# 3.2 创建 Student.vue 组件
```html
<template>
<div>
<h2>学生姓名:{{name}}</h2>
<h2>学生年龄:{{age}}</h2>
</div>
</template>
<script>
export default {
name: 'Student',
data(){
return {
name: '张三',
age: 18
}
}
}
</script>
3.3 创建 App.vue 组件
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>
3.4 创建 main.js
要创建一个 vm 也就是创建 Vue 实例
import App from './App.vue'
new Vue({
el:'#root',
template:`<App></App>`,
components:{App},
})
3.5 创建 index.html
准备一个容器,引入 vue
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>练习一下单文件组件的语法</title>
</head>
<body>
<!-- 准备一个容器 -->
<div id="root"></div>
<!-- <script type="text/javascript" src="../js/vue.js"></script> -->
<!-- <script type="text/javascript" src="./main.js"></script> -->
</body>
</html>
以上是 Vue 基本的模块化开发,但这些还办法正常运行使用,因为浏览器识别不了.vue
的文件,需要把这个文件放入脚手架中才能正常运行。