位置: 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)

  • 应收账款和应付账款的关系
  • 红冲以后怎么做账
  • 小规模未开票收入填在哪里
  • 酒类许可证过期了去哪里换证
  • 咨询公司所得税税负率是多少合适
  • 税控盘减免税额转出会计分录
  • 差额拨款的事业单位属于预算单位吗
  • 支付刻制公司印章费
  • 购买原材料产生的运输费计入什么科目
  • 收到跨年的票据怎么做账
  • 食品业企业
  • 国外预提税是什么
  • 企业出租房屋交什么税?
  • 印花税销售分录
  • 自产自销产品如何入库存
  • 自持是啥意思
  • 金税盘清卡晚了一天会怎么样
  • 职工因公出差伙食补助标准
  • 为什么销售人员佣金计入合同取得成本
  • 不动产有法律效力吗
  • 误餐补助有限制性的规定吗
  • 单位租房水电费是个人名字是否可以抵扣
  • 小规模纳税人开专票税率是1%还是3%
  • 购买方已抵扣开具红字信息表销售方怎么处理
  • 多提税金的具体分录
  • 中国的农业成本为什么高
  • 财务会计制度备案操作流程
  • 华为nova10pro支持多少倍变焦
  • 收到厂家返利怎么做分录
  • 当月制造费用转生产成本
  • windows7部分的更新安装失败怎么办?
  • 外贸企业红字发票怎么冲
  • PHP:pg_get_result()的用法_PostgreSQL函数
  • 应税货物销售额怎么填
  • 最高频率内存条是多少
  • 外单位承担
  • 悉尼奥林匹克公园
  • 固定资产清理科目核算内容
  • 微信php开发包
  • SM1、SM2、SM3、SM4、同态加密、密态计算、隐私计算和安全多方计算的概念
  • vue笔记大全
  • 母公司与子公司交易属于关联交易吗
  • 承兑汇票怎么使用流程
  • 职工意外伤害险赔偿标准
  • 公司借个人款利息产生个人所得税公司可以承担吗
  • 不动产进项税额分期抵扣暂行办法还有效吗
  • 政府扶持资金怎么做账
  • 支付货代运费账务处理
  • 银行贷款直接给钱吗
  • 购买库存商品的运输费
  • 自己开发建造的房屋
  • 企业注销前是不是资产必须处理完
  • 企业注销其他应付款怎么处理账务
  • 多交增值税不能抵扣
  • sqlserver存储过程声明变量
  • mysql理论知识
  • mysql 源码 下载
  • windoes版本
  • 由于这台计算机没有远程客户端访问许可证
  • 硬盘安装xp系统安装教程
  • Centos 5.5 php5.1.2升级到php5.2.6的方法
  • win7任务栏颜色怎么改成蓝色
  • win7安装软件后所有打开变成记事本
  • win102020h2版本
  • win8怎么没有无线网图标不见了
  • win8系统无法连接网络
  • 没有协议盒可以设置协议吗
  • linux如何修改网关地址
  • unityfs 加密反编译
  • javascript数据结构与算法 pdf
  • cocos2dx入门
  • nodejs实现文件压缩下载
  • 多个版本python
  • cocos游戏开发教程
  • 设置ip安全策略
  • jquery中的动画方法有哪些
  • js面向接口编程
  • 城市基础设施配套费由哪个部门收取
  • 事业单位大额资金拨付需要什么报账材料
  • 闵行区注册公司,闵行区税务筹划,哪
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设