前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue组件化使用

vue组件化使用

作者头像
在下是首席架构师
发布2024-01-31 16:26:12
1240
发布2024-01-31 16:26:12
举报
文章被收录于专栏:从入门到出门从入门到出门

创建组件

代码语言:javascript
复制
<template>
  <div>
    <el-dialog
      title="表单"
      :visible="dialogVisible"
      @close="handleClose"
    >
    </el-dialog>
  </div>
</template>
​
<script>
export default {
  name: 'DialogForm',
  props: {
    DialogFlag: {
      default: false
    }
  },
  data () {
    return {
      // 开关
      dialogVisible: false,
    }
  },
  watch: {
    DialogFlag () {
      this.dialogVisible = this.DialogFlag
    }
  },
  methods: {
    // 表单关闭事件-通知父组件关闭(.syanc)
    // 不通知父组件可能会报错,导致只能打开一次
    handleClose () {
      this.$emit('update:DialogFlag', false)
    },
  }
}
</script>

引用组件

代码语言:javascript
复制
// 引入组件
import DialogForm from '@/views/**/DialogForm.vue'
​
//注册组件
 components: {
    DialogForm
  },
  
//data
 DialogFlag: false
​
// html 
//:DialogFlag.sync 很关键
<DialogForm :DialogFlag.sync="DialogFlag" />
​
// 使用组件
  <el-button
              type="primary"
              icon="el-icon-circle-plus-outline"
              @click="openDialog"
              >打开表单</el-button
            >
            
 openDialog() {
      this.DialogFlag = true
    },

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建组件
  • 引用组件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档