模块
组件
模块化
当应用中的 js 都以模块来编写的,那这个应用就是一个模块化的应用
组件化
当应用中的功能都是多组件的方式来编写的,那这个应用就是一个组件化的应用
非单文件组件:一个文件中包含有 n 个组件
单文件组件:一个文件中只包含有 1 个组件
Vue中使用组件的三大步骤
Vue.extend(options)
创建,其中 options 和 new Vue(options) 时传入的 options 几乎一样,但也有点区别 编写组件标签如
注册组件
Vue.component
(‘组件名’,组件)局部注册(只有注册了那个组件的才能使用)
全局注册(所有的都可以使用)
使用组件
{{msg}}
关于组件名
name
配置项指定组件在开发者工具中呈现的名字关于组件标签
(需要Vue脚手架支持)const school = Vue.extend(options)
可简写为 const school = options
,因为父组件 components
引入的时候会自动创建 {{msg}}
关于 VueComponent
VueComponent 的构造函数
,且不是程序员定义的,而是 Vue.extend() 生成的
或
,Vue 解析时会帮我们创建 school 组件的实例对象,即Vue帮我们执行的new VueComponent(options)Vue.extend
,返回的都是一个全新的 VueComponent
,即不同组件是不同的对象this
均是 VueComponent
实例对象VueComponent
的实例对象,以后简称 vc
(组件实例对象
)Vue的实例对象,以后简称vm
Vue 在哪管理 VueComponent
例:main.js中Vue.prototype.Axios = Axios;
组件xxx.vue中this.Axios({});
单文件组件就是将一个组件的代码写在 .vue 这种格式的文件中,webpack 会将 .vue 文件解析成 html,css,js这些形式。
来做个单文件组件的案例:
School.vue
学校名称:{{name}}
学校地址:{{address}}
Student.vue
学生姓名:{{name}}
学生年龄:{{age}}
App.vue
用来汇总所有的组件(大总管)
main.js
在这个文件里面创建 vue 实例
import App from './App.vue'new Vue({el:'#root',template:` `,//因为这里没有多个标签,App就是根标签components:{App},
})
index.html
在这写 vue 要绑定的容器
练习一下单文件组件的语法
上一篇: 形容带风的成语
下一篇:Linux应用开发之文件与IO流