vue sync修饰符的理解

vue 修饰符sync的功能是:当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定。如果我们不用.sync,我们想做上面的那个弹窗功能,我们也可以props传初始值,然后事件监听,实现起来也不算复杂。这里用sync实现,只是给大家提供一个思路,让其明白他的实现原理,可能有其它复杂的功能适用sync

代码简洁明了:

<template>
    <div class="details">
        <myComponent :show.sync='valueChild' style="padding: 30px 20px 30px 5px;border:1px solid #ddd;margin-bottom: 10px;">myComponent>
        <button @click="changeValue">togglebutton>
    div>
template>
<script>
import Vue from 'vue'
Vue.component('myComponent', {
      template: `

默认初始值是{{show}},所以是显示的

`
, props:['show'], methods: { closeDiv() { this.$emit('update:show', false); //触发 input 事件,并传入新值 } } }) export default{ data(){ return{ valueChild:true, } }, methods:{ changeValue(){ this.valueChild = !this.valueChild } } }
script>


链接:https://www.jianshu.com/p/6b062af8cf01

你可能感兴趣的:(前端随手笔记)