IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 封装全局input组件,并通过v-model绑定父子数据 -> 正文阅读

[JavaScript知识库]封装全局input组件,并通过v-model绑定父子数据

今天写项目的时候打算用用新学的知识

目的:封装一个全局组件,使用v-model来进行父子数据的绑定。

效果

子组件:
在这里插入图片描述

父组件
在这里插入图片描述

全局绑定
index.js:在这里插入图片描述
main.js:
在这里插入图片描述

1.组件封装

最简单的部分,需要注意的是组件的传值,使用组件时,要通过自定义的属性名,进行传值
父组件:
在这里插入图片描述子组件通过props进行获取值
在这里插入图片描述props可以直接使用props:[value1,value2,value3]的方式,当需要对数据的类型进行要求时,也可以使用 props:{value1:type1,value2:type2} 的方式。子组件使用props中的值和使用data中的值一样。

在这里插入图片描述

2.父子组件通过v-model绑定数据

使用v-model的方法首先需要知道 v-model是一个语法糖,如果定义在了父组件上,例如:

          <yun-input
            v-model="searchValue"
            (绑定了data中的数据)
          ></yun-input>
          -------------------------------
          相当于是
          <yun-input
            :value="searchValue" @input="value => { searchValue= value }"
            (绑定了data中的数据)
          ></yun-input>

其实是定义了一个 value属性和一个input方法。而这个value属性在封装的组件内部通过 props:[value]可以获得,当要从子组件给父组件传递这个值时,就会使用到我们的 $emit

 this.$emit('input', event.target.value);
 //this.$emit('参数名', 值)
 //这个参数名之后是调用组件时,写的方法名
 //就是上面语法糖中的@input,

这样写就可以在封装好的组件中定义方法,从而改变父组件中的值。

3.全局封装组件

如果将所有的全局组件以 Vue.component()的方法写道main.js中时很不友好的。我们可以在component目录下进行一定的封装。
在这里插入图片描述

import YunInput from "./input.vue"
//引入写好的组件
export default (vue) => {
    vue.component(YunInput.name, YunInput)
    //vue.component("组件名", “引入的组件”)
} 

接着再在main.js中 调用这个js文件
在这里插入图片描述之后就可以直接在页面中使用这个组件了

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 18:43:07  更:2022-07-20 18:44:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:24:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码