今天看vue官网的sync修饰符有点不理解,发现这篇解决了我的疑惑,故转载一下
    
    

    
    
  1. <div id="app">
  2. <div>父组件bar: {{bar}} </div>
  3. <comp :foo.sync="bar"> </comp>
  4. <!-- <comp :foo="bar" @update:foo="val => bar = val"></comp> -->
  5. </div>


    
    
  1. <script>
  2. Vue.component( 'comp', {
  3. template: '<div><button @click="increment">点我更新子组件foo++</button><div>子组件foo: {{foo}}</div></div>',
  4. props: [ 'foo'],
  5. methods: {
  6. increment: function() {
  7. this.foo++;
  8. this.$emit( 'update:foo', this.foo);
  9. }
  10. }
  11. });
  12. new Vue({
  13. el: '#app',
  14. data: { bar: 0}
  15. });
  16. </script>

:foo.sync="bar" 实际就是 :foo="bar" @update:foo="val => bar = val" 的语法糖

转自:https://www.jianshu.com/p/5bde35206dd0




Logo

前往低代码交流专区

更多推荐