美文网首页vue2.0
公共子组件(父传子)

公共子组件(父传子)

作者: zlf_j | 来源:发表于2019-11-25 12:15 被阅读0次

一、代码示例

父组件(弹框为例)

  • 组件应用:
 <feedbackDailies ref="feedbackDailies" :nowData="dailies_history[dailiesPage]"></feedbackDailies>
  • 引用组件:
import feedbackDailies from '../../../Common/detail.vue' // 文件路径自己定
  • 点击事件,显示子组件
methods: {
   dailiesPicture() {
        this.$refs.feedbackDailies.open()
   },
}
  • 定义子组件
components: {
      feedbackDailies
    },

子组件

<div v-show="dialogFormVisible">
  {{currentData}}
</div>
 data () {
   return: {
      dialogFormVisible: false, // 控制弹框显隐
      currentData: {}
   }
 },
 methods: {
   open() {
       this.dialogFormVisible = true
   },
 },
 watch: {
       nowData: {
            handler (val, oldVal) {
              if (val) {
                this.currentData = val
              } else {
              }
            },
            deep: true,
            immediate: true
          },
 }

二、了解

// 获取值
console.log(this.$refs.addRef.ruleForm)
// 调用方法
this.$ref.addRef.submitRuleform()

https://www.cnblogs.com/luguankun/p/11700132.html

子组件调用父组件方法(this.$parent.event)
  • 父组件
methods: {
      fatherMethod() {
        console.log('测试');
      }
}
  • 子组件
this.$parent.fatherMethod();

https://www.cnblogs.com/jin-zhe/p/9523782.html

三、v-model传参

父组件

<tinymce :height="600" v-model="item.html" />

子组件

  • vue2.0
* 值(默认值是value)
 props: {
  value: {
    type: String,
    default: ""
   }
 }
* 传参(默认方法是input)
this.$emit("input", 内容);
  • vue3.0
* 值(默认值是modelValue)
 props: {
  modelValue: {
     type: String,
     default: ""
  }
}
* 传参(默认方法是update)
 this.$emit("update:modelValue", 内容);

https://www.jianshu.com/p/854fc40cf0b4

相关文章

网友评论

    本文标题:公共子组件(父传子)

    本文链接:https://www.haomeiwen.com/subject/stbdwctx.html