位置: IT常识 - 正文

uniapp全局组件全局使用(不在每个页面template使用,仅支持H5),函数式调用全局组件方法(uniapp全局对象)

发布时间:2023-12-20
uniapp全局组件全局使用(不在每个页面template使用,仅支持H5),函数式调用全局组件方法

推荐整理分享uniapp全局组件全局使用(不在每个页面template使用,仅支持H5),函数式调用全局组件方法(uniapp全局对象),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:uniapp全选,uni-app全局组件,uniapp全选,uniapp全选,uniappui组件,uniappui组件,uniapp全局变量四种实现方式,uniapp 全局组件,内容如对您有帮助,希望把文章链接给更多的朋友!

 最简单的使用,在 main.js 编写如下代码,即可将 xxx 组件在每个页面显示

// main.js// 引入组件import xxx from "@/components/xxx.vue";// 将该组件挂载在document.body下document.body.appendChild(new xxx().$mount().$el);函数式调用全局组件方法

场景,某些 toast 组件需要如下方式使用

<template> <toast ref="toast"></toast></template><script> export default { methods:{ showToast(){ this.$refs.toast.show(); } } }</script>

经改造,最终使用方法为:

this.$r.toast().show();

实现方式:

1、在 utils 目录下新建 render.js

2、在 main.js 下将 render.js 绑定在 this 下

// ...import render from "@/utils/render";Vue.prototype.$r = render;// ...

3、在 render.js 内将组件绑定至全局

// utils/render.js// 引入vueimport vm from "vue";// toast组件import toast from "@/components/xxx/toast.vue";export default { /** * 全局toast弹窗 */ toast(){ // 全局注册toast组件 const toastCom = vm.component('toast',toast); // 获取uniapp根节点 const uniappRoot = document.getElementsByTagName("uni-app")[0]; // 初始化toast组件const toastComp = new toastCom(); // 这里我每个组件内都有一个固定id,用来禁止同意组件生成多次if(document.getElementById(toastComp.id)){document.getElementById(toastComp.id).remove();} // 将toast组件添加在uniapp根节点上uniappRoot.appendChild(toastComp.$mount().$el);return toastComp; }}uniapp全局组件全局使用(不在每个页面template使用,仅支持H5),函数式调用全局组件方法(uniapp全局对象)

4、最后我们可以直接函数式调用组件方法与设置组件属性

// 此show方法在toast组件的methods中定义this.$r.toast().show();// 此duration属性在toast组件的data中this.$r.toast().duration;

嘿,愿你代码永无bug,人生永无坎坷!

嘿,愿你代码永无bug,人生永无坎坷!

嘿,愿你代码永无bug,人生永无坎坷!

嘿,愿你代码永无bug,人生永无坎坷!

嘿,愿你代码永无bug,人生永无坎坷!

嘿,愿你代码永无bug,人生永无坎坷!

广告:(提供学习机会)

       前端交流学习群:1063233592

       PHP学习交流群:901759097

       前后端学习交流微信群:加我微信,填写验证消息(前端),拉你进群

本文链接地址:https://www.jiuchutong.com/zhishi/276371.html 转载请保留说明!

上一篇:初级会计中应收票据质押给银行怎么做账?(初级会计应收账款例题)

下一篇:Win10 Dev 预览版 20279(FE_RELEASE)更新详解(win10 dev版本)

  • 房产税的房产原值是什么
  • 非营利组织免税资格认定申请表
  • 非营利组织所得税
  • 差额征税的税率怎么计算
  • 免费样品需要交印花税吗
  • 零食发票能抵税吗
  • 债权性投资损失账务处理
  • 期末调汇的会计科目
  • 如果当月有未记账的凭证,系统不可以结账
  • 当月抵扣的发票可以下个月记账吗
  • 员工迟到扣款该怎么处理
  • 对方跨行转账成功后我却没收到款还能追回来吗
  • 保险的月缴纳可以调整么?
  • 商业保险可以税前全额扣除吗?
  • 电子承兑汇票怎么打印出来
  • 广告公司营改增后的会计分录
  • 企业用给客户送礼吗
  • 厂家给返点算拿回扣吗
  • 去办税大厅清卡需要带什么
  • 基建工程施工单位罚款如何做账?
  • wifi网速太慢了怎么回事
  • 公司购买自己公司的产品
  • thinkphp5开发教程
  • 微信支付被限制是怎么回事
  • php更新数据
  • 购进农产品发生非正常损失
  • mplugin.exe是什么
  • nodejs怎么降低版本
  • 酒店行业存货周转率多少合适
  • 固定资产的减值准备,一经确认,不得转回
  • 生产企业放假前的安全提示
  • 目前税收工作中存在的主要问题及对策
  • 精确控制 英文
  • thinkphp上传文件
  • 中小企业所得税优惠政策2022
  • web前端基础是什么
  • 红字冲销的增值税发票怎么处理
  • 固定资产处置缴纳增值税政策依据
  • mongodb时序
  • mongodb开启
  • 小微企业可以不交税吗
  • 小规模纳税人是个体户吗
  • 兼职会计人员的职责
  • 或有资产怎么处理
  • 研发费用怎么入帐
  • 长期待摊费用摊销会计分录
  • 预收账款的账务处理怎么对企业有利
  • 结转增值税的账务处理
  • 公司股权作价转让会计分录案例
  • 以前年度的销售退回能否直接冲减销售收入
  • 小规模纳税人已付款对方不开发票几年了会计分录
  • 出售设备账务处理
  • 什么是库存现金限额
  • 赠送客户的商品怎么入账
  • 会计凭证中转是什么
  • 银行汇票如何兑现金
  • Sql Server 2000 行转列的实现(横排)
  • sqlserver数据库和mysql区别
  • ubuntu虚拟机怎么联网
  • win8.1流畅吗
  • 华硕fx80g装系统
  • grub修复引导windows10
  • centos7自签名证书
  • windows8怎么打开开始菜单
  • software protection延迟启动
  • linux误删除数据
  • win10变成win8怎么办
  • linux7.2 sudo权限配置
  • linux swap分区必须吗
  • winpe怎么弄
  • javascriptcall和apply
  • python数据结构教程
  • JavaScript打开WPS
  • 用python写爬虫
  • 在javascript中如果不指明对象直接调用
  • javascript简明教程
  • 基于javascript的毕业设计
  • js弹出框怎么写
  • 九江税务总局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号