当前位置: 首页 > news >正文

桥西做网站网页网站模板

桥西做网站,网页网站模板,网站注册免费,哈尔滨网页设计外包公司在Vue3中#xff0c;我们可以通过 provide 和 inject 来实现父子组件之间的数据传递#xff0c;这也适用于实现弹框功能。下面是一个简单的例子#xff1a; 父组件代码#xff1a; templatedivbutton clickshowDialog打开弹框/b…在Vue3中我们可以通过 provide 和 inject 来实现父子组件之间的数据传递这也适用于实现弹框功能。下面是一个简单的例子 父组件代码 templatedivbutton clickshowDialog打开弹框/buttonmy-dialog :visibledialogVisible closehandleDialogClose!-- 弹框内容 --/my-dialog/div /templatescript import MyDialog from ./MyDialog.vueexport default {components: {MyDialog},data() {return {dialogVisible: false}},methods: {showDialog() {this.dialogVisible true},handleDialogClose() {this.dialogVisible false}} } /script在父组件中我们定义了一个 dialogVisible 变量来控制弹框的显示与隐藏以及对应的方法来打开和关闭弹框。同时我们将要展示的弹框作为父组件的子组件嵌入到模板中并将 visible 属性绑定到 dialogVisible 变量上这样在弹框中也可以使用它来控制弹框的显示与隐藏。 子组件代码 templatediv v-ifvisiblediv classdialog-overlay clickclose/divdiv classdialog-contentslot/slot/div/div /templatescript export default {props: {visible: {type: Boolean,default: false}},inject: [close],mounted() {document.body.style.overflow hidden},beforeUnmount() {document.body.style.overflow } } /script在子组件中我们定义了一个 visible 属性来控制该弹框的显示与隐藏。同时我们使用了 inject 来注入父组件中定义的 close 方法这样在子组件中就可以调用该方法来关闭弹框。在弹框的模板中我们使用了 slot 来插入具体的弹框内容而弹框的样式可以通过 CSS 进行控制。 至此我们就成功地实现了一个简单的弹框功能。当然这只是一个简单的示例实际上我们还可以通过传递参数定制弹框的样式和行为等方式来进一步丰富弹框功能。 第二种方法 在Vue3中可以使用provide和inject来实现父子组件之间的值传递。具体的实现步骤如下 在父组件中使用provide来提供一个方法该方法将会被传递给子组件。在该provide方法中通过ref来创建一个响应式状态 isShowModal用于控制弹框的显示和隐藏。 // 父组件 templatedivbutton clickopenModal打开弹框/buttonChildComponent //div /templatescript import { provide, ref } from vue; import ChildComponent from ./ChildComponent.vue;export default {components: {ChildComponent,},setup() {const isShowModal ref(false);const openModal () {isShowModal.value true;};provide(openModal, openModal);provide(isShowModal, isShowModal);}, }; /script在子组件中使用inject来获取父组件传递的isShowModal和openModal。在子组件中通过watch监听isShowModal的变化从而控制弹框的显示和隐藏。 // 子组件 templatedivModal :visibleisShowModal //div /templatescript import { inject, watch } from vue; import Modal from ./Modal.vue;export default {components: {Modal,},setup() {const isShowModal inject(isShowModal);const openModal inject(openModal);watch(isShowModal, (newVal) {if (newVal) {Modal.open({title: 提示,content: 这是一个弹框,onOk: () {isShowModal.value false;},});} else {Modal.close();}});}, }; /script根据需求自定义Modal组件实现弹框的显示和隐藏逻辑。 // Modal.vue templatediv v-showvisible classmodaldiv classmodal-mask/divdiv classmodal-wrapperdiv classmodal-contentdiv classmodal-headerslot nameheader/slotspan classmodal-close clickhandleClose×/span/divdiv classmodal-bodyslot namecontent/slot/divdiv classmodal-footerslot namefooter/slot/div/div/div/div /templatescript import { ref } from vue;const MODAL_CONTAINER_CLASSNAME modal-container;export default {props: {visible: {type: Boolean,default: false,},},setup(props) {const modalContainer ref(null);const handleClose () {props.onClose props.onClose();};const transitionEndHandler () {if (!props.visible) {modalContainer.value.classList.remove(MODAL_CONTAINER_CLASSNAME);}};const open ({ title, content, onOk, onCancel }) {props.onOpen props.onOpen();modalContainer.value.classList.add(MODAL_CONTAINER_CLASSNAME);};const close () {props.onClose props.onClose();};return {handleClose,open,close,};}, }; /script通过以上的实现即可在Vue3中实现父子组件之间的弹框功能。
http://www.w-s-a.com/news/544576/

相关文章:

  • 政务网站建设标准项目经理接到网站开发怎么开展
  • 网站框架设计好后怎么做网站广告销售怎们做
  • asp技校网站保定八大平台公司
  • wordpress网站前端优化网站备案批量查询
  • 北京企业做网站杭州seo中心
  • 护肤品网站建设前的行业分析wordpress电子书模板
  • 做网站怎么销售.net开发网站怎么样
  • 蚌埠网站优化网站换空间wordpress
  • 微网站开发框架公司企业logo
  • 大淘客官网做的网站打不开网站建设完成
  • 婚纱摄影网站模板让别人做网站怎样才安全
  • 技术支持 骏域网站建设专家佛山网站运营管理教材
  • 个体营业执照可以做网站服务吗电商运营学校培训
  • 企业网站免费推广的方法.wordpress 爱情模板下载地址
  • 轻淘客 轻网站怎么做手机开发人员选项怎么打开
  • 天津做网站制作公司html网站 下载
  • 哪个网站的课件做的好crm客户管理系统全称
  • 网站建设工作室创业计划书seo是什么职位的简称
  • o2o平台网站开发什么是白帽seo
  • 免费建个人手机网站WordPress 简历库
  • 建网站 是否 数据库阳瘘的最佳治疗方法是什么
  • 知晓程序网站怎么做网站基础维护
  • 兼职做网站赚钱吗图片设计制作哪个软件好手机
  • 做手机旅游网站智慧校园登录入口
  • 莆田网站建设维护国外极简网站
  • 百度怎样收录网站缪斯设计集团
  • 网站建设在开封找谁做wordpress 数据转换
  • 旅游网站开发的流程江苏付费网络推广培训
  • 网站软文标题2018wordpress主题
  • 德清网站设计wordpress免登录发布接