写代码啦
.sync修饰符
回复数(0) 浏览数(30)
{{topic.upvote_count || 0}} 编辑 回复

在Vue2.3中新增加了一个新的属性:.sync修饰符,这个修饰符用于子组件去改变父组件的值一个属性。
<div id="app">
<div>{{bar}}</div>
<my-comp :foo.sync="bar"></my-comp>
<!-- <my-comp :foo="bar" @update:foo="val => bar = val"></my-comp> -->
</div>
<script>
Vue.component('my-comp', {
template: '<div @click="increment">点我+1</div>',
data: function() {
return {copyFoo: this.foo}
},
props: ['foo'],
methods: {
increment: function() {
this.$emit('update:foo', ++this.copyFoo);
}
}
});
new Vue({
el: '#app',
data: {bar: 0}
});
</script>

当点击按钮时父组件会传递一个bar给子组件,在传递的时候通过:foo.syn来绑定,想到于写下面那一句 bar = val">

{{topic.upvote_count || 0}}

在Vue2.3中新增加了一个新的属性:.sync修饰符,这个修饰符用于子组件去改变父组件的值一个属性。
<div id="app">
<div>{{bar}}</div>
<my-comp :foo.sync="bar"></my-comp>
<!-- <my-comp :foo="bar" @update:foo="val => bar = val"></my-comp> -->
</div>
<script>
Vue.component('my-comp', {
template: '<div @click="increment">点我+1</div>',
data: function() {
return {copyFoo: this.foo}
},
props: ['foo'],
methods: {
increment: function() {
this.$emit('update:foo', ++this.copyFoo);
}
}
});
new Vue({
el: '#app',
data: {bar: 0}
});
</script>

当点击按钮时父组件会传递一个bar给子组件,在传递的时候通过:foo.syn来绑定,想到于写下面那一句 bar = val">

30
回复 编辑