diff --git a/vue/vue简介.md b/vue/vue简介.md
index d83e35a..8616614 100644
--- a/vue/vue简介.md
+++ b/vue/vue简介.md
@@ -100,4 +100,4 @@ var app2 = new Vue(var app2 = new Vue({
>
> v-bind:+属性名="属性值"
>
-> v-bind 的缩写是 :
\ No newline at end of file
+> v-bind 的缩写是 :
\ No newline at end of file
diff --git a/vue/组件.md b/vue/组件.md
new file mode 100644
index 0000000..dd7e1d3
--- /dev/null
+++ b/vue/组件.md
@@ -0,0 +1,82 @@
+# 组件
+
+组件是带有一个名字的可复用的vue实例,可以在new Vue创建的vue根实例中把定义的组件当做自定义元素来使用
+
+### 组件构成
+
+组件和new Vue接收的选项相同,都包括如下部分
+
+- data
+
+- methods
+
+- computed
+
+- watch
+
+- components 组件内可以调用其他组件
+
+ > el 是根实例特有的选项,组建中不能出现el选项
+
+
+
+### 组件定义和使用:
+
+#### 定义一个组件
+
+需要把组件实例赋给一个变量
+
+```
+ let counter=Vue.component('counter', {
+ data: function () {
+ return {
+ count: 0
+ }
+ },
+ methods:{
+ add(){
+ this.count+=1
+ }
+ },
+ template: ''
+ })
+```
+
+> 声明组件中,组件内部的data必须是一个函数
+>
+> 因此 ,每个组件实例都是彼此独立的
+
+使用它:
+
+js部分:
+
+```
+ var app = new Vue({
+ el: '#app',
+ data: {
+ selected: []
+ },
+ component:{
+ counter
+ }
+
+
+ })
+```
+
+template (html)部分
+
+```
+
+
+
+
+
+
+
+```
+
+> 组件可以使用任意次数
+>
+> 这个例子中,id=app的部分叫做 父组件 counter指代的部分叫做 子组件
+
diff --git a/vue/组件间通信.md b/vue/组件间通信.md
new file mode 100644
index 0000000..f47ec10
--- /dev/null
+++ b/vue/组件间通信.md
@@ -0,0 +1,94 @@
+# 组建间通信
+
+### 父组件往子组件传值(prop)
+
+子组件中使用prop 定义从父组件接收的值
+
+父组件调用子组件时, 子组件prop里面定义的值就变成了父组件从实例 template部分变成属性
+
+props语法:
+
+- 对象格式定义
+
+ props:{
+
+ 属性名:{
+
+ type: 数据类型
+
+ default: 默认值
+
+ }
+
+ }
+
+```
+
+
+
+
+
+
+
+```
+
+
+
+- 数组格式定义Props
+
+ props: ['属性名'],
+
+ 上面的Props重新定义为:
+
+ ```
+ props:['msg']
+ ```
+
+
+
+
+
+### 子组件往父组件传值($emit)
+
+在子组件的template部分中触发事件,事件处理函数内部 写入
+
+```
+this.$emit('drag<监听这个事件的所用的名称>',要传的值)
+```
+
+然后从父组件的template部分做如下处理:
+
+```
+
+其中 timeend 是监听这个end这个时间所用的名称
+ end是触发timeend之后的处理函数名
+```
+
diff --git a/vue/表单输入绑定v-model.assets/image-20201223141638119.png b/vue/表单输入绑定v-model.assets/image-20201223141638119.png
new file mode 100644
index 0000000..8e6626b
Binary files /dev/null and b/vue/表单输入绑定v-model.assets/image-20201223141638119.png differ
diff --git a/vue/表单输入绑定v-model.assets/image-20201223141710470.png b/vue/表单输入绑定v-model.assets/image-20201223141710470.png
new file mode 100644
index 0000000..bdb19d0
Binary files /dev/null and b/vue/表单输入绑定v-model.assets/image-20201223141710470.png differ
diff --git a/vue/表单输入绑定v-model.md b/vue/表单输入绑定v-model.md
index 1b1a702..2503704 100644
--- a/vue/表单输入绑定v-model.md
+++ b/vue/表单输入绑定v-model.md
@@ -153,23 +153,31 @@ v-model为不同的输入元素使用不同的property并抛出不同的事件
```
-
-
- Selected: {{ selected }}
-
+
+
+ Selected: {{ selected }}
+
```
-
+
```
new Vue({
el: '#example-6',
data: {
selected: []
- }
+ }
})
```
+
+ 选择前:![image-20201223141638119](表单输入绑定v-model.assets/image-20201223141638119.png)
+
+ 选择后:![image-20201223141710470](表单输入绑定v-model.assets/image-20201223141710470.png)
+
+ 使用时需要按ctrl选中多个
-
\ No newline at end of file