From 704a4b02b22ed6b7e5063266514bbce7a56b248b Mon Sep 17 00:00:00 2001 From: asd <374367073@qq.com> Date: Wed, 23 Dec 2020 16:51:20 +0800 Subject: [PATCH] zujian --- vue/vue简介.md | 2 +- vue/组件.md | 82 +++++++++++++++ vue/组件间通信.md | 94 ++++++++++++++++++ .../image-20201223141638119.png | Bin 0 -> 1865 bytes .../image-20201223141710470.png | Bin 0 -> 2332 bytes vue/表单输入绑定v-model.md | 30 ++++-- 6 files changed, 196 insertions(+), 12 deletions(-) create mode 100644 vue/组件.md create mode 100644 vue/组件间通信.md create mode 100644 vue/表单输入绑定v-model.assets/image-20201223141638119.png create mode 100644 vue/表单输入绑定v-model.assets/image-20201223141710470.png 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 0000000000000000000000000000000000000000..8e6626b31a3526faa87dbc568b721696642810c8 GIT binary patch literal 1865 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 literal 0 HcmV?d00001 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