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双向绑定')

      }

    }

    })

  • 相关阅读:
    路由系统
    flask_sqlalchemy的使用
    input()输入语句
    注释
    Python 2017.1.5
    关于object网页播放器参数的设置,推荐博客系列
    LRU缓存,大神写的,值得借鉴
    object,网页播放器的相关属性设置
    js的apply和call方法
    count()函数在count()中参数的讨论
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/13720009.html
Copyright © 2011-2022 走看看