美文网首页
vue3 双向绑定

vue3 双向绑定

作者: LovelyYilia | 来源:发表于2022-02-23 15:14 被阅读0次

方法1:

<template>
  <div class="q-pa-md q-gutter-sm">
    <q-dialog :model-value="modelValue" persistent position="right">
      <q-card>
        <q-card-section>
          <div class="text-h6">Terms of Agreement</div>
          <q-space />
          <q-btn icon="close" flat round dense v-close-popup @click="closeAction" />
        </q-card-section>

        <q-separator />

        <q-card-section style="max-height: 50vh" class="scroll">
          <p
            v-for="n in 15"
            :key="n"
          >Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum repellendus sit voluptate voluptas eveniet porro. Rerum blanditiis perferendis totam, ea at omnis vel numquam exercitationem aut, natus minima, porro labore.</p>
        </q-card-section>

        <q-separator />

        <q-card-actions align="right">
          <q-btn label="Decline" color="primary" v-close-popup @click="closeAction"/>
          <q-btn flat label="Accept" color="primary" v-close-popup @click="closeAction"/>
        </q-card-actions>
      </q-card>
    </q-dialog>
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  props: {
    modelValue: {
      type: Boolean,
      require: true
    }
  },

  setup(props, context) {
    const closeAction = () => {
      context.emit('update:model-value', false);
      console.log('closeAction');
    };
    return {
      closeAction,
    };
  },
});
</script>

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

使用

<mine-filter v-model="showFilter"/>

方法2:

<template>
  <div class="q-pa-md q-gutter-sm">
    <q-dialog :model-value="show" persistent position="right">
      <q-card>
        <q-card-section>
          <div class="text-h6">Terms of Agreement</div>
          <q-space />
          <q-btn icon="close" flat round dense v-close-popup @click="closeAction" />
        </q-card-section>

        <q-separator />

        <q-card-section style="max-height: 50vh" class="scroll">
          <p
            v-for="n in 15"
            :key="n"
          >Lorem ipsum dolor sit amet consectetur adipisicing elit. Rerum repellendus sit voluptate voluptas eveniet porro. Rerum blanditiis perferendis totam, ea at omnis vel numquam exercitationem aut, natus minima, porro labore.</p>
        </q-card-section>

        <q-separator />

        <q-card-actions align="right">
          <q-btn label="Decline" color="primary" v-close-popup @click="closeAction"/>
          <q-btn flat label="Accept" color="primary" v-close-popup @click="closeAction"/>
        </q-card-actions>
      </q-card>
    </q-dialog>
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue';

export default defineComponent({
  props: {
    show: {
      type: Boolean,
      require:true
    }
  },

  setup(props, context) {
    const closeAction = () => {
      context.emit('update:show', false);
      console.log('closeAction');
    };
    return {
      closeAction,
    };
  },
});
</script>

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

<filter-data :show="showFilter" v-model:show="showFilter"/>

父组件中:

const showFilter = ref(false);

相关文章

  • Vue3的v-model以及传值

    Vue3:v-model 一、v-model:双向绑定 Vue3:v-model规定: 属性名任意(假设为xxx)...

  • v2和v3版本区别

    vue2和vue3双向数据绑定原理发生了改变vue2 的双向数据绑定是利用ES5 的一个 API Object. ...

  • Vue2和Vue3的区别

    1:vue2和vue3双向数据绑定原理发生了改变 vue2的双向数据绑定是利用ES5的一个APIObject.de...

  • vue3 双向绑定

    方法1: 使用 方法2: 父组件中:

  • vue基础题

    Vue2和Vue3的双向数据绑定的原理 Vue2的核心就是通过Object.defineProperty()方法设...

  • Vue

    vue双向绑定原理及实现从零带你手把手实现Vue3响应式原理-上从零带你手把手实现Vue3响应式原理-下为什么说 ...

  • vue3学习

    一、基础语法 1、双向数据绑定 vue2 vue3 2、ref, reactive ref:一般用在定义基本类型和...

  • Vue3 双向绑定——Proxy

    上一期我用一个山寨的Vue class演示了vue响应式开发中双向绑定的实现。小结留了个尾巴——vue3将会用新的...

  • Vue 中的双向数据绑定

    双向绑定 单向数据流 双向绑定 or 单向数据流 Vue 是单向数据流,不是双向绑定 Vue 的双向绑定是语法糖 ...

  • Vue3.0 双向数据绑定

    背景 环境:vue3 + ts + vitevue3.0版本的双向数据绑定,是作了一些改动的,v-model其实是...

网友评论

      本文标题:vue3 双向绑定

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