javascript - VUE父组件model改变后,传入子组件的props为什么没改变?
習慣沉默
習慣沉默 2017-05-19 10:30:47
0
2
695

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为什么没改变?

習慣沉默
習慣沉默

全部回复(2)
Peter_Zhu

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

滿天的星座

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板