vue复习slot插槽和 provide 和inject 使用

总共三个组件

<template>
  <div>
    <input :type="type" :value="value" @input="myInput" v-bind="$attrs" />
  </div>
</template>

<script>
export default {
  props: {
    value: {
      type: String,
    },
    type: {
      type: String,
      default: "text",
    },
  },
  methods: {
    myInput(e) {
      // 数据发生变化的时候,我们就上层的父亲去校验数据
      this.$emit("input", e.target.value);
      this.$parent.$emit("validate", e.target.value);
    },
  },
  data() {
    return {};
  },
};
</script>

<style lang="scss" scoped>
</style>

 

外面想v-model 使用。里面就必须实现两个逻辑

  <input :type="type" :value="value" @input="myInput" v-bind="$attrs" />

 

好,我们看下使用

这里我们可以看到,上面v-model 将数据绑定到了 KInput 组件上了,下面我就想了,form 数据如何得到的?

也就是KInputItem 如何从 KForm 组件中得到数据,这里面用到了 , provide 和inject 我们来看下代码!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值