Wie erhält eine Vue-Datei die aktuelle Instanz?
三叔
三叔 2017-06-15 09:23:36
0
2
696

Wie nutzt eine Funktion in einem Objekt dies, um die aktuelle Instanz abzurufen?

export default {
  name:'calendar',
  data() {
    return {
      moment: moment(),
      month: monthArr[moment().month()],
      date: moment().date(),
      day: dayArr[moment().day()],
      swiperOption: {
        effect: 'flip',
        loop: true,
        onSlideNextEnd: function (swiper) {
          console.log('next');
          this.moment = this.moment.add(1, 'd');//这里的this不是实例的this
          this.month = monthArr[this.moment.month()];
          this.date = this.moment.date();
          this.day = dayArr[this.moment.day()];
        },
        onSlidePrevEnd: function (swiper) {
          console.log('prev;');
        }
      }
    }
  },
·
·
·
·
·
}
三叔
三叔

Antworte allen(2)
刘奇

再写一个computed,把swiperOption 丢在 computed里 试下吧。这么写,实例还没创造出来,应该调用不到吧。

刘奇
想到个方法,但是感觉挺麻烦的
data() {
    return {
      moment: moment(),
      month: monthArr[moment().month()],
      date: moment().date(),
      day: dayArr[moment().day()],
      swiperOption: {
        _this:this,
        loop: true,
        onSlideNextStart: function (swiper) {
          console.log(this._this);
          this._this.moment = this._this.moment.add(1, 'd');
          this._this.month = monthArr[this._this.moment.month()];
          this._this.date = this._this.moment.date();
          this._this.day = dayArr[this._this.moment.day()];
        },
        onSlidePrevEnd: function (swiper) {
          console.log('prev;');
        }
      }
    }
  },
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage