搜索

首页  >  问答  >  正文

javascript - VUE父组件model改变后,传入子组件的props为什么没改变?

VUE父组件model改变后 传如子组件的props为什么没改变?

父组件

<script>
    import Slide from "./slide/slide"
    var vm = {
        data(){
            return {
                banner:100
            }
        },
        methods: {
            test:function (argument) {
                this.banner += 10;
            }
        },
        beforeCreate(){

        },
        created(){
            
        },
        mounted(){
        },
        components: {
            Slide
        }
    }
    export default vm
</script>
<style src="./index.css" scoped></style>
<template>
    <p @click='test' class="index-content">
        <Slide :data='banner'></Slide>
        {{banner+':index'}}
    </p>
</template>

子组件

<script>
export default {
  props:['data'],
  data(){
    return {
      url:this.data
    }
  },
  methods: {
  }
}

</script>

<style src="./slide.css" scoped></style>
<template>
  <p class="slide">
      {{url}}
  </p>
</template>

我点击test方法后 改变 父组件的banner 这个banner传入子组件后子组件的model为什么没改变?

習慣沉默習慣沉默2788 天前705

全部回复(2)我来回复

  • 天蓬老师

    天蓬老师2017-05-19 10:32:47

    因为你模版中用的是 data 里面的数据, 而不是 props 里面的, 你只在初始化的时候给 data 赋值, 如果需要 props 改变的同时改变 data, 那就需要加上 watch, 不过你这种情况直接用 props 就好了.

    回复
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:32:47

    父组件传来的数据 用 props接收之后就能直接用了,不用再次声明一个data来接收

    回复
    0
  • 取消回复