位置: IT常识 - 正文

【Vue】 组件封装(vue组件封装步骤)

编辑:rootadmin
【Vue】 组件封装 目录1 组件封装1.1 全局注册1.2 局部注册1.2.1 命名1.2.2 引用组件1.2.2.1 传统写法1.2.2.2 setup1.2.2.3 easycom1.3 父子组件间的数据传递1.3.1 子组件 data() 中设置数据1.3.2 父组件通过 prop 将数据传递给子组件1.3.3 子组件不能直接修改 prop 中的值1.3.4 子组件通过 emit 事件将子组件数据传递给父组件1.3.5 父组件通过 prop 把改变的值传到子组件中1.3 父子组件双向数据绑定1.3.1 v-model1 组件封装

推荐整理分享【Vue】 组件封装(vue组件封装步骤),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:封装vue组件,vue组件封装注意事项,vue组件封装视频,vue组件怎么封装,vue组件封装原则,vue 组件封装应该遵循 什么样的设计模式,vue中组件封装,vue组件封装步骤,内容如对您有帮助,希望把文章链接给更多的朋友!

vue 官网 组件基础

需要封装的情况组件复用模块化另: 修改子组件时,有时需重新运行才有效果1.1 全局注册<fzzz></fzzz>;import yyy from "./components/xxx.vue";Vue.component("zzz", yyy);yyy 不能有 -fzzz 只与 zzz 有关// main.jsimport inputSearch from "./components/inputSearch.vue";Vue.component("inputSearch", inputSearch); // 3 种, i 开头Vue.component("input-search", inputSearch); // <input-search></input-search>Vue.component("input-Search", inputSearch); // <input-Search></input-Search>Vue.component("InputSearch", inputSearch); // 6 种Vue.component("Input-search", inputSearch); // <Input-search></Input-search>Vue.component("Input-Search", inputSearch); // <Input-Search></Input-Search>// main.jsimport InputSearch from "./components/inputSearch.vue";Vue.component("inputSearch", InputSearch); // 3 种, i 开头Vue.component("input-search", InputSearch); // <input-search></input-search>Vue.component("input-Search", InputSearch); // <input-Search></input-Search>Vue.component("InputSearch", InputSearch); // 6 种Vue.component("Input-search", InputSearch); // <Input-search></Input-search>Vue.component("Input-Search", InputSearch); // <Input-Search></Input-Search>1.2 局部注册1.2.1 命名

建议使用大驼峰,因为这提高了模板的可读性,能帮助我们区分 Vue 组件和原生 HTML 元素。

<fyyy></fyyy>;import yyy from "@/components/xxx.vue";components: { yyy;}yyy 不能有 -fyyy 只与 components:{} 的 yyy 有关<inputSearch></inputSearch><input-search></input-search><input-Search></input-Search>import inputSearch from "@/components/inputSearch.vue"import inputSearch from "@/components/input-search.vue"import inputSearch from "@/components/input-Search.vue"import inputSearch from "@/components/InputSearch.vue"import inputSearch from "@/components/Input-search.vue"import inputSearch from "@/components/Input-Search.vue"components: { inputSearch }<InputSearch></InputSearch><Input-search></Input-search><Input-Search></Input-Search><inputSearch></inputSearch><input-search></input-search><input-Search></input-Search>import InputSearch from "@/components/inputSearch.vue"import InputSearch from "@/components/input-search.vue"import InputSearch from "@/components/input-Search.vue"import InputSearch from "@/components/InputSearch.vue"import InputSearch from "@/components/Input-search.vue"import InputSearch from "@/components/Input-Search.vue"components: { InputSearch }1.2.2 引用组件【Vue】 组件封装(vue组件封装步骤)

uniapp 官网 引用组件

1.2.2.1 传统写法child.vue导入 : import child from '@/components/child.vue';局部注册 : components: { child },使用 : <child></child>

1.2.2.2 setupchild.vue<script setup></script>导入 : import child from '@/components/child.vue';使用 : <child></child>

1.2.2.3 easycomchild.vue 组件放在项目的 components 文件夹下,符合 components/组件名称/组件名称.vue 的目录结构,可直接引用使用 : <child></child>

1.3 父子组件间的数据传递父组件通过 prop 将数据传递给子组件子组件通过 emit 事件将子组件数据传递给父组件子组件不能直接修改 prop 中传给父组件的值1.3.1 子组件 data() 中设置数据// 子组件<view>{{ name }}</view>// data()data() {return {name: 'xxx'}},// 父组件<child></child>1.3.2 父组件通过 prop 将数据传递给子组件// 子组件<view>{{ name }}</view>// propsprops: {name: {type: String,default: ''},},// 父组件<child name="xxx"></child>1.3.3 子组件不能直接修改 prop 中的值// 子组件<view @click="getValue">{{ name }}</view>// propsprops: {name: {type: String,default: ''},},methods:{getValue() {this.name = "yyy"; // 报错}}// 父组件<child name="xxx"></child>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PePniYhx-1662716305299)(app_files/2.jpg)]

1.3.4 子组件通过 emit 事件将子组件数据传递给父组件this.$emit(“fun1”, param); //其中 fun1 为父组件定义函数,param 为需要传递参数// 子组件<view @click="getValue">{{ name }}</view>// data()、methodsdata() {return {name: 'xxx'}},methods: {getValue() {this.$emit('change', this.name)}}// 父组件<child @change="getName"></child>// methodsmethods: {getName(value) {console.log(value);}}1.3.5 父组件通过 prop 把改变的值传到子组件中// 子组件<view @click="getValue">{{ name }}</view>//props: {undataName: {type: String,default: ''},},data() {return {name: ''}},methods: {getValue() {this.$emit('change', this.name)this.name = this.undataName;}}// 父组件<child @change="getName" undataName="yyy"></child>// methodsmethods: {getName(value) {console.log(value);}}1.3 父子组件双向数据绑定1.3.1 v-model

Vue 父子组件如何双向绑定传值 Vue 官网 表单输入绑定

<input v-model="text"> 相当于 <input :value="text" @input="event => text = event.target.value">

父组件使用子组件时,直接用 v-model 双向绑定 <child v-model="name"></child><!-- 子组件 --><template> <input :value="name" @input="onInput" /></template><script> export default { model: { prop: "name", //这个字段,是指父组件设置 v-model 时,将变量值传给子组件的 name event: "getName", //这个字段,是指父组件监听 getName 事件 }, props: { name: { type: String, default: "", }, }, methods: { onInput(e) { this.$emit("getName", e.target.value); console.log(e.target.value); }, }, };</script>// 父组件<template> <view> <child v-model="name"></child> </view></template><script> import child from "@/components/child.vue"; export default { components: { child, }, data() { return { name: "xxx", }; }, watch: { name(value) { console.log(value, "--value"); }, }, };</script>
本文链接地址:https://www.jiuchutong.com/zhishi/297771.html 转载请保留说明!

上一篇:json-server|0编码实现REST API(json_server)

下一篇:【GPT4】微软 GPT-4 测试报告(1)总体介绍(微软 gcr)

  • 小米watchs1pro怎么设置表盘(小米watch01)

    小米watchs1pro怎么设置表盘(小米watch01)

  • 苹果13怎么关闭运行的应用(苹果13怎么关闭勿扰模式)

    苹果13怎么关闭运行的应用(苹果13怎么关闭勿扰模式)

  • 视频会议画面黑屏(视频会议画面模糊)

    视频会议画面黑屏(视频会议画面模糊)

  • 小红书怎么看最近访客(小红书怎么看最早发布时间)

    小红书怎么看最近访客(小红书怎么看最早发布时间)

  • vivo手机原装膜要不要撕了(vivo手机原装膜可以撕下来吗)

    vivo手机原装膜要不要撕了(vivo手机原装膜可以撕下来吗)

  • 微信怎么取消发送(微信怎么取消发送视频)

    微信怎么取消发送(微信怎么取消发送视频)

  • qq号关联了 对方能看到什么(qq号关联了 对方能看到以前的聊天记录吗)

    qq号关联了 对方能看到什么(qq号关联了 对方能看到以前的聊天记录吗)

  • qq的匹配聊天怎么弄(qq的匹配聊天怎么没了)

    qq的匹配聊天怎么弄(qq的匹配聊天怎么没了)

  • 华为rioul00什么型号(华为rloul00)

    华为rioul00什么型号(华为rloul00)

  • 华为手机拨号键盘成透明的了,怎么取消(华为手机拨号键没有了怎么弄出来)

    华为手机拨号键盘成透明的了,怎么取消(华为手机拨号键没有了怎么弄出来)

  • word文档的扩展名叫什么(word文档的扩展名有哪些)

    word文档的扩展名叫什么(word文档的扩展名有哪些)

  • 手机腾讯视频如何小窗(手机腾讯视频如何扫描二维码登录)

    手机腾讯视频如何小窗(手机腾讯视频如何扫描二维码登录)

  • word文档怎么画线条(word文档怎么画下划线横线)

    word文档怎么画线条(word文档怎么画下划线横线)

  • 稳定版升级miui11会清除数据吗(稳定版升级稳定版会清除数据吗)

    稳定版升级miui11会清除数据吗(稳定版升级稳定版会清除数据吗)

  • 小米摄像头总是等待连接(小米摄像头总是链接失败)

    小米摄像头总是等待连接(小米摄像头总是链接失败)

  • airpods刻字了还能退吗(airpods刻字了还能换吗)

    airpods刻字了还能退吗(airpods刻字了还能换吗)

  • 咸鱼怎么私信卖家(咸鱼私信卖家)

    咸鱼怎么私信卖家(咸鱼私信卖家)

  • 手机qq怎么查谁删了我(qq如何查看谁)

    手机qq怎么查谁删了我(qq如何查看谁)

  • 苹果手机右边发烫(苹果手机右边发烫还关机)

    苹果手机右边发烫(苹果手机右边发烫还关机)

  • 运动步数怎么刷(这么刷步数)

    运动步数怎么刷(这么刷步数)

  • 如何关闭edge浏览器地址栏自动弹出的历史记录(如何关闭edge浏览器下载保护)

    如何关闭edge浏览器地址栏自动弹出的历史记录(如何关闭edge浏览器下载保护)

  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询

    ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询

  • H5基本开发1——(H5简单概述)(h5的开发)

    H5基本开发1——(H5简单概述)(h5的开发)

  • 微信小程序开发使用onreachBottom实现页面触底加载及分页(微信小程序开发者工具)

    微信小程序开发使用onreachBottom实现页面触底加载及分页(微信小程序开发者工具)

  • 小规模纳税人本月应交增值税
  • 企业纳税信用等级评定标准
  • 基本户可以直接转账给个人吗
  • 股东转让股权公司如何做账
  • 加油充值卡发票能入账吗
  • 技术合同免税备案流程2022年
  • 员工培训的费用按照多少钱计入安措费
  • 当期处置子公司,当期还纳入合报范围嘛
  • 房地产项目管理三大核心
  • 银行存款收付流程
  • 机动车销售发票是否需要认证
  • 红字信息表跨月了还能开吗
  • 企业所得税汇算清缴账务处理
  • 增值税税控设备服务费
  • 企业将自用设备进行出租
  • 非正常损失允许税前扣除吗
  • 单位参加城镇职工基本养老保险缴费基数怎么填写
  • 应交税费的期初余额是借还是贷
  • 税收编码更改的依据是什么
  • 支票只能同城吗
  • 固定资产发生非正常损失相关题目
  • 月末结转增值税凭证
  • 服装具有什么性
  • 增值税小规模纳税人减免增值税政策
  • 收到办公室桶装水开的普票怎样入账?
  • 生产车间折旧为0的原因
  • 退休返聘人员的优点
  • 广告费递延几年
  • 收到服务费专票怎么做账
  • 商标注册费用
  • 显卡性能排行榜2023
  • 最贵的苹果4
  • 不能抵扣的发票可以做成本吗
  • 服装制造业现状和发展趋势
  • 印花税需要交钱吗
  • 出租车发票能不能多开
  • 微信支付开发包
  • flex布局教程实例篇
  • 增值税附加税有什么
  • 入库税款异常怎么处理好
  • 其他货币资金微利
  • 北京社保月平均工资
  • 非限定性资产和业务活动表关系
  • php框架是干什么的
  • 保理属于什么行业分类
  • 无形资产摊销怎么计算
  • 税务师考试的报名时间
  • 开农贸市场拿补贴找哪个部门
  • 个体户也需要纳税吗
  • 机票报销是什么发票
  • 营改增后转让土地使用权怎么交增值税
  • 行政事业单位拨款请示在前还是发票在前
  • 工会经费计算公式的例子
  • 贴现法年末偿还金额
  • 发票遗失证明怎么写范文
  • 多发了工资怎么做账务处理
  • 应付账款和应付票据的区别与联系
  • 应收账款的政策
  • SQL Server AlwaysOn读写分离配置图文教程
  • mysql order by 性能
  • win8 更新
  • win8更新到win8.1
  • pd虚拟机安装安卓系统
  • xp系统如何取消开机自动启动程序
  • win81怎么取消开机密码
  • 平板电脑安装的是什么格式的软件
  • 微软认为
  • jquery实现原理
  • 搭建安卓开发环境必须的工具
  • jquery.ui
  • angular页面加载完后执行方法
  • JavaScript中常用的数据类型有
  • jquery给td设置内容
  • 基于jquery实现小说
  • JS与jQ读取xml文件的方法
  • 如何查询纳税信用等级证明
  • 知道税率怎么算成本
  • 重庆办理4050社保需要什么材料
  • 纳税申报的期限是多久
  • 第二税务所干什么的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设