props和data中的数据

来源:5-5 listview 基础组件的开发和应用-右侧快速入口实现(1)

旺旺94919

2019-05-17

老师,下面计算属性里面,for循环里面用props中的this.data,页面就会正常显示;把this.data换成data里面的this.singerList,那么list-shortcut表就第一次显示,刷新后就不显示了呢?
props和data中的数据区别在哪里呢?

 <div class="list-shortcut">
      <ul>
        <li class="item" 
        v-for="(item,index) in shortcutList" 
        :key="index">
	        {{item}}
        </li>
      </ul>
    </div>
export default {
  props: {
    data: {
      type: Object,
      default: {}
    }
  },
  data () {
    return {
      singerList: this.data,
    }
  },
  computed: {
    shortcutList () {
      let list = []
      for(let key in this.singerList){
        list.push(key.slice(0,1))
      }
      return list
    }
  }
};

下图就是this.singerList的结果,第一次显示,刷新页面就消失,this.data则无论怎么刷新都不会消失,咋回事,搞不明白
图片描述

写回答

1回答

ustbhuangyi

2019-05-17

刷新后不显示,是什么意思。
prop 可以从外部传入修改
data 是组件内部维护的数据,
它们都是响应式的

0
3
旺旺94919
回复
ustbhuangyi
好的,谢谢老师!
2019-05-17
共3条回复

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3804 问题

查看课程