前言
今天在写代码的时候,遇到一个问题,我想使用data里面的一个变量,赋值给data里面的另一个变量。直接赋不行 latitude: latitude, 不行,latitude: this.latitude, 也不行,上网查了一下,可以通过computed和mounted来实现,成功了。

data() {
    return {
      longitude: 120.42,
      latitude: 36.09,
      covers: [
        {
          // latitude: latitude, 不行
          // latitude: this.latitude, 也不行
          // latitude: 0,
          // longitude: 0,
          iconPath: '../../static/logo.png',
          width: 25,
          height: 25
        }
      ],
    };
  },

方法一,computed

注释的部分为其它的方法。

computed: {
    // computeLon(){
    //   return this.covers[0].longitude = this.longitude;
    // },
    // computeLat(){
    //   return  this.covers[0].latitude = this.latitude;
    // }
    computeLonLat(){
      // this.covers[0].longitude = this.longitude;
      // this.covers[0].latitude = this.latitude;
      this.$set(this.covers[0], 'longitude', this.longitude);
      this.$set(this.covers[0], 'latitude', this.latitude)
      return
    }
  },

方法二: mounted

mounted() {
    this.$set(this.covers[0], 'longitude', this.longitude);
    this.$set(this.covers[0], 'latitude', this.latitude)
  },
Logo

前往低代码交流专区

更多推荐