【问题标题】:VueJS get v-model value to methodsVueJS 获取方法的 v-model 值
【发布时间】:2021-04-25 14:07:38
【问题描述】:

对不起,我使用 vuetify 作为轮播组件,我想为每张幻灯片设置轮播持续时间

模板:

<v-carousel cycle :interval="interval" v-model="onSlideChange">
       <v-carousel-item>First Item</v-carousel-item>
       <v-carousel-item>Second Item</v-carousel-item>
       <v-carousel-item>third Item</v-carousel-item>
</v-carousel>

数据:

data() {
    return {
      interval: 1000,
      onSlideChange: null,
    };
}

getValue(slideNumber) {
    if (slideNumber === 0) {
      this.interval === 500;
    } else if (slideNumber === 1) {
      this.interval === 800;
    } else {
      this.interval === 1000;
    }
},

如果我在模板上使用此代码,我会从 v-model="onSlideChange" 获得值 0、1、2 轮播幻灯片

{{ onSlideChange }}

问题:我如何从 v-model 获得价值到方法?我使用@input="handleInput($event.target.slideNumber)" 但如果

<v-carousel cycle :interval="interval" v-model="onSlideChange" @input="getValue($event.target.slideNumber)">

【问题讨论】:

  • 顺便说一句,我使用 vuejs v2
  • 你可以在this.onSlideChange的方法中访问onSlideChange
  • 是的,我正在尝试 this.onSlideChange = slideNumber; 并致电 {{this.interval}} 但不会改变
  • 我认为 v-model="onSlideChange"@input="getValue($event.target.slideNumber)" 不能在 1 个标签中使用

标签: vue.js methods vuetify.js carousel v-model


【解决方案1】:

通过匿名解决? (我忘记了,因为他隐藏/删除了这条评论):

使用手表

watch: {
    onSlideChange(newVal) {
      if (newVal !== null) this.getValue(newVal);
    },
  },

调用方法


methods: {
    getValue(slideNumber) {
      if (slideNumber === 1) {
        this.interval = 500;
      } else if (slideNumber === 2) {
        this.interval = 800;
      } else {
        this.interval = 5000;
      }
    },
  },

非常感谢anonim先生和Mohsen先生

【讨论】:

    猜你喜欢
    • 2020-07-15
    • 2018-06-13
    • 2021-07-27
    • 1970-01-01
    • 2020-06-08
    • 2018-12-11
    • 2020-04-01
    • 2018-11-04
    • 2019-12-27
    相关资源
    最近更新 更多