Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果是';可以检测是否已通过特定方法调用v-on:change事件_Javascript_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 如果是';可以检测是否已通过特定方法调用v-on:change事件

Javascript 如果是';可以检测是否已通过特定方法调用v-on:change事件,javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我有一个时间选择器,它接受最终用户手动选择的时间,并通过单击“当前时间”按钮设置当前时间 在由用户(手动)设置的情况和时间下,我必须显示挂起图标。如果我点击“当前时间”按钮,这个图标应该被忽略 我有一个v-on:change事件,它调用“changeTime()”方法来手动设置所需的时间。在这种情况下,应显示挂起图标 但是如果我单击“Current time”(当前时间)按钮,时间将更改为当前时间,v-on:change事件将起作用,结果是“changeTime()”方法调用 如果使用setTi

我有一个时间选择器,它接受最终用户手动选择的时间,并通过单击“当前时间”按钮设置当前时间

在由用户(手动)设置的情况和时间下,我必须显示挂起图标。如果我点击“当前时间”按钮,这个图标应该被忽略

我有一个v-on:change事件,它调用“changeTime()”方法来手动设置所需的时间。在这种情况下,应显示挂起图标

但是如果我单击“Current time”(当前时间)按钮,时间将更改为当前时间,v-on:change事件将起作用,结果是“changeTime()”方法调用

如果使用setTime()方法,如何避免调用v-on:change事件

全部输入代码 time.vue

抱歉这么复杂。 谢谢

  • 您需要使用
    vue时间选择器上的
    lazy
    道具()
  • 创建一个单独的函数,用于更新存储实际时间值的数据属性
  • 为两种不同的更改源添加两种不同的方法(
    setTime
    &
    manualSetTime
  • 将要在用户单击更改
    vue时间选择器
    值时执行的事件添加到
    manualSetTime
  • 将要在单击按钮时执行的事件添加到
    setTime
  • (如果由于控制台.log的原因而无法使用该代码段,只需单击其上方的
    全页

    //从CDN“导入”VueTimepicker
    const VueTimepickerCdn=VueTimepicker.default
    新Vue({
    el:“应用程序”,
    组成部分:{
    VueTimepickerCdn
    },
    数据(){
    返回{
    stringTimeValueWithSec:null,
    }
    },
    方法:{
    //设置用户和管理员的时间
    变更时间($event,msg){
    this.stringTimeValueWithSec=$event.data
    },
    //用户操作结果
    手动设置时间($event,msg){
    this.changeTime($event,msg)
    log(“用户单击:手动更改vue时间选择器值时应执行的所有事件”)
    },
    //管理操作结果
    设定时间(){
    const$事件={
    数据:{
    “HH”:“00”,
    “H”:“0”,
    “hh”:“12”,
    “a”:“am”,
    “A”:“AM”,
    “h”:“12”,
    “kk”:“24”,
    “k”:“24”,
    “m”:“0”,
    “mm”:“00”,
    “s”:“0”,
    “ss”:“00”
    }
    }
    this.changeTime($event,'admin'))
    console.log('非用户单击:按钮单击时应执行的所有事件')
    },
    },
    模板:`
    {{stringTimeValueWithSec}}

    当前时间 ` })
    
    
    你能在这里发布更多的代码吗,包括你从哪里调用
    setTime()
    以及
    changeTime
    setTime
    函数的内容为什么不从
    setTime
    调用
    changeTime
    ?这就是问题所在,我不想从setTime()调用changeTime()。我想避免它,或者至少知道时间已经被setTime()改变了,并设置了一些条件。这是你第一次这么说。您之前所说的是如何避免在
    setTime
    之后调用它。你还没有说清楚你为什么不想要。到目前为止,听起来像是一个XY问题。如果不查看所有代码并知道它们是如何结合在一起的,就很难完全理解您的问题。
    changeTime()
    中有什么内容?您的
    按钮
    元素与
    vue时间选择器
    组件的关系如何?
            <vue-timepicker
             manual-input
             format="HH:mm:ss"
             ref="time"
             id="time"
             :value="timeValue"
             v-on:change="changeTime($event, 'time')"
             ></vue-timepicker>
    
            <button
            id="currentTimeId"
            v-on:click="setTime"
             >Current Time
             </button>
    
     setTime() {
      let h;
      let m;
      let s;
      h = this.$store.getters.rtcDate["hour"];
      m = this.$store.getters.rtcDate["minute"];
      s = this.$store.getters.rtcDate["second"];
      this.time = h + ":" + m + ":" + s;
    },