zoukankan      html  css  js  c++  java
  • vue .sync修饰符

    在一些情况下,我们可能会需要对一个prop(父子组件传递数据的属性)进行‘双向绑定’,vue重新引入.sync修饰符,是作为编译时的一个语法糖,它会被扩展为一个自动更新父组件属性的v-on监听器。

    普通写法:

    <text-decoment v-bind:title='title' v-on:update:title='title=$event'></text-document>

    语法糖写法:

    <text-document v-bind:title.sync="doc.title" ></text-document>

    Vue.component('text-document', {

      props: ['title'],

      template: ` <div> <button @click='setNewTitle'>更新标题</button> </div> `,

      methods:{

        setNewTitle:function(){//手动进行更新父组件中的值

        this.$emit('update:title', '这步操作修改标题实现prop双向绑定')

      }

    }

    })

    var vm = new Vue({ el:'#app', data:{ doc:{ title:'对prop进行“双向绑定”' } }, });

    .sync也可以是对象,绑定多个数据,vue会为每个数据绑定事件,但不能是表达式,表达式临界状态比较多,不好处理

    demo:

    <text-document v-bind:obj.sync="obj" ></text-document>

    Vue.component('text-document', {

      props: ['obj'],

      template: ` <div> <button @click='setNewTitle'>更新标题</button> </div> `,

      methods:{

        setNewTitle:function(){//手动进行更新父组件中的值

        this.$emit('update:obj', '这步操作修改标题实现prop双向绑定')

      }

    }

    })

  • 相关阅读:
    使用 ant-design/pro-table
    cross-env 根据环境打包
    React 生成图片验证码组件使用
    一些常用的命令行
    react-grid-layout
    vsCode 常用快捷键(mac 版)
    mac 使用命令行,对远程服务器进行文件更新
    原生js 平滑滚动到页面的某个位置
    html2canvas 导出包含滚动条的内容
    react 中的 PureComponent
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/13720009.html
Copyright © 2011-2022 走看看