vue computed 计算属性取对象的值,第一次报错undefined

代码如下:

  data() {
    return {
      limit:3,
      checkedIndex:0,
      addressList:[],
      isMdShow:false,
      addressId:""
    };
  },
  components: {
    NavHeader,
    NavFooter,
    NavBread,
    Modal
  },
  mounted(){
    this.init()
  },
    computed:{
    addressListFilter(){
      return this.addressList.slice(0,this.limit)
    },
    selectedAddressId(){
      
      // if(this.addressList.length>0){
       let data = this.addressList[this.checkedIndex].addressId
       console.log(this.addressList,"====")
       return data
      //  }
    }
  },

图片:

vue computed 计算属性取对象的值,第一次报错undefined_第1张图片

注意,初始化的时候,addressList还是一个空数组,那addressList[index]对象就不存在,肯定就没有addressId这个属性,所以会报undefined

报错和打印值: 

vue computed 计算属性取对象的值,第一次报错undefined_第2张图片

解决方案:

那我们现在可以知道,报错的原因是第一次计算的时候,addressList还没有赋值,所以,我们可以进行一个判断,当addressList有值了我们在进行计算

vue computed 计算属性取对象的值,第一次报错undefined_第3张图片

 

你可能感兴趣的:(BUG,vue,js,资料)