电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

vue 自定義組件的寫法與用法詳解

瀏覽:87日期:2023-02-03 14:38:08

三個技能,父組件 —> 子組件傳值(props)、子組件 —> 父組件傳值(emit用來使這個獨立的組件通過一些邏輯來融入其他組件中。舉個具體點的例子,假如你要做一輛車,車輪是要封裝的一個獨立組件,props指的就是根據(jù)整個車的外形你可以給輪子設(shè)置一些你想要的且符合車風(fēng)格的花紋,圖案等;而$emit的作用則是讓這些輪子能夠和整輛車完美契合的運作起來。

(1)使用props可以實現(xiàn)父子組件之間的傳值(2)使用this.$emit()可是實現(xiàn)子組件調(diào)用父組件的方法

一.在commponents文件創(chuàng)建組件文件

vue 自定義組件的寫法與用法詳解

二.組件代碼(寫法)

index.vue

<template> <div class='cusdealed'> <div v-if='showStatus==1'> <div class='submitRes'><img src='http://www.hdgsjgj.cn/common/img/repectSubmit.png' alt=''> </div> <div class='submitTip tipwidth'>該單據(jù)已經(jīng)提交過了,不用重復(fù)提交哦!</div> </div> <div v-if='showStatus==2'> <div class='submitRes'><img src='http://www.hdgsjgj.cn/common/img/invalid.png' alt=''> </div> <div class='submitTip'>單據(jù)已失效,不能掃單入庫!</div> </div> <div v-if='showStatus==3'> <div class='submitRes'><img src='http://www.hdgsjgj.cn/common/img/invalid.png' alt=''> </div> <div class='submitTip'>找不到該單據(jù),不能掃單入庫!</div> </div> </div></template><script type='text/javascript' src='http://www.hdgsjgj.cn/bcjs/logic.js'></script><style lang='less' scoped> @import ’./style.css’;</style>style.less//樣式文件@import ’../../common/less/px2rem.less’;@import ’../../common/less/base.less’;.cusdealed { .submited { .submitRes { .px2rem(150); width: @px2rem; height: @px2rem; } .submitRes { .px2rem(227); margin: @px2rem auto 0; .resImg { width: 100%; height: 100%; display: block; } } .submitTip { .px2rem(58); // height: @px2rem; font-family: PingFangSC-Regular; font-weight: 400; color: rgba(51, 51, 51, 1); line-height: @px2rem; } .submitTip{ .px2rem(32); font-size: @px2rem; } .tipwidth{ .px2rem(384); width: @px2rem; } .submitTip{ .px2rem(50); margin: @px2rem auto 0; } }}logic.js//邏輯文件import { Spinner } from ’vux’export default { name: ’cusDealing’, data() { return { showStatus:1 } }, components: { Spinner, }, props: { // showStatus: Number }, computed: { }, watch: { showStatus(val) { console.log(val, ’showStatus---’) return val; } }, methods: { }, mounted() { }}

三.用法

引入組件

vue 自定義組件的寫法與用法詳解

頁面使用

html:

<!-- 處理完彈窗 --> <div : v-if='dealStatus==2'> <div class='dealedContent'> <Cusdealed :showStatus='showStatus'></Cusdealed> <div @click='Iknow'>我知道了</div> </div> </div>

js:

vue 自定義組件的寫法與用法詳解

效果

vue 自定義組件的寫法與用法詳解

好了,看下正文。下面結(jié)合日常生活給大家講下道理。

在網(wǎng)上經(jīng)常看到有朋友在問自己能不能寫vue組件 如果可以怎么應(yīng)用到自己的項目之中呢!我覺得吧這個事兒就和用煮大米飯是一個道理的

1. 首先作大米飯我們得有米吧 要不 巧婦難為無米之炊啊 因此先買好我們自己的大米也就是創(chuàng)建組件文件,這里我假設(shè)要創(chuàng)建一個自己loading效果組件 那么我們就先創(chuàng)建 loading.vue 里面的代碼根據(jù)vue template相關(guān)規(guī)則寫就可以 這里就不在贅述了 我只寫一個最最簡單的例子

vue 自定義組件的寫法與用法詳解

2.ok了 米就這么愉快的買好了 那么有了米我們現(xiàn)在只需要把他放在鍋里!那么這個鍋是誰呢!好吧我們自己來背這個鍋,我們創(chuàng)建一個相關(guān)的.js文件 通常組件都是一個功能自己一個文件夾那么每個組件都應(yīng)該有自己獨立的調(diào)用文件(一盆大米一個鍋)那么為了統(tǒng)一我們可以都叫做index.js當(dāng)然了這個名字你可以隨便起 只有以后你在后續(xù)調(diào)用時候更換相關(guān)名字即可!重點來了 這個鍋是怎么造的呢!話不多說直接上圖

vue 自定義組件的寫法與用法詳解

那么上面三個這么違和的框是干什么的么:紅色框框:我靠這還用問嗎 你調(diào)用那個文件你得告訴人間啊 這里當(dāng)然要調(diào)用剛才我們自己創(chuàng)建的loading.vue文件。 黃色框框:我靠這個黃色的框框可以說是本次本文章中重點中的重點 為什么這么說呢 我們要使用自己的組件就要導(dǎo)出這個組件 而這個黃色框框中的代碼就是導(dǎo)出自己組件的相應(yīng)配置 其中那個非常猥瑣的浪線則是本例子的”命根子“ 這個命名就是你在其他文件中調(diào)用這個組件(這里是loading組件)的名字 在這個例子中我們在調(diào)用組件時候就可以寫成<Loading></Loading>。白色框框:這個沒什么好說的 相當(dāng)于導(dǎo)出這個組件 在main中好接受!

3.原材料大米也有了 飯鍋也有了 現(xiàn)在是萬事俱備只欠東風(fēng) 那我們第三部就是一個字”煮“ 兩字:”開火“ 這里就是我們要把我們這個自己創(chuàng)建的組件應(yīng)用到我們的頁面之中 詳情請看下圖

vue 自定義組件的寫法與用法詳解

黃色框框部分就是在主文件main.js中 引入剛才定義的組件 和 應(yīng)用 這個組件了!

最后的最后你可以在任何想用這個組件的地方插入<Loading></Loading>了 組件相應(yīng)的樣式和js代碼可以直接寫在第一步中的文件之中!就這樣一個自己創(chuàng)建的組件就這么愉快的應(yīng)用啦!

(備注:本實例家里在用vue init webpack-simple xxx的基礎(chǔ)之上,第一次寫文章很多不周全之處 還請各位客官諒解 )

總結(jié)

到此這篇關(guān)于vue 自定義組件的寫法與用法詳解 的文章就介紹到這了,更多相關(guān)vue 自定義組件內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 加气混凝土砌块设备,轻质砖设备,蒸养砖设备,新型墙体设备-河南省杜甫机械制造有限公司 | 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | B2B网站_B2B免费发布信息网站_B2B企业贸易平台 - 企资网 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 高压贴片电容|贴片安规电容|三端滤波器|风华电容代理南京南山 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 卫浴散热器,卫浴暖气片,卫生间背篓暖气片,华圣格浴室暖气片 | 水质传感器_水质监测站_雨量监测站_水文监测站-山东水境传感科技有限公司 | 【孔氏陶粒】建筑回填陶粒-南京/合肥/武汉/郑州/重庆/成都/杭州陶粒厂家 | 车件|铜件|车削件|车床加工|五金冲压件-PIN针,精密车件定制专业厂商【东莞品晔】 | 谈股票-今日股票行情走势分析-牛股推荐排行榜 | 智慧物联网行业一站式解决方案提供商-北京东成基业 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 工业废水处理|污水处理厂|废水治理设备工程技术公司-苏州瑞美迪 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | loft装修,上海嘉定酒店式公寓装修公司—曼城装饰 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 商用绞肉机-熟肉切片机-冻肉切丁机-猪肉开条机 - 广州市正盈机械设备有限公司 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 柴油机_柴油发电机_厂家_品牌-江苏卡得城仕发动机有限公司 | 激光内雕_led玻璃_发光玻璃_内雕玻璃_导光玻璃-石家庄明晨三维科技有限公司 激光内雕-内雕玻璃-发光玻璃 | 振动时效_振动时效仪_超声波冲击设备-济南驰奥机电设备有限公司 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 国产液相色谱仪-超高效液相色谱仪厂家-上海伍丰科学仪器有限公司 | 福建省教师资格证-福建教师资格证考试网| Duoguan 夺冠集团| 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 地图标注|微信高德百度地图标注|地图标记-做地图[ZuoMap.com] | 建筑消防设施检测系统检测箱-电梯**检测仪器箱-北京宇成伟业科技有限责任公司 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 大功率金属激光焊接机价格_不锈钢汽车配件|光纤自动激光焊接机设备-东莞市正信激光科技有限公司 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 |