vue.js 2.0中props问题

父组件传递一个prop给子组件,在子组件里无法改变prop中的值

父组件中

 v-bind:moving="{ l: leftMove }"

子组件中

v-bind:style="{ left: moving.l + 'px' }"

props: {
    moving: {
        type: Object,
        default: { l: 0, r: 0 }
   },
},
methods: {
    change(next) {
        this.moving.l = next
    }

moving.l一直是默认值,在1.0中是可行的

阅读 4.4k
3 个回答

2.0取消了双向绑定
clipboard.png

vue不能直接改变props,因为需要保证单向数据流,可以将props要改变的值赋给data或者computed,再去改变

props: {
    moving: {
        type: Object,
        default: ()=>{
           return{ l: 0, r: 0}
         }
   },
}

推介这么写

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题