鍍金池/ 問答/網(wǎng)絡安全  HTML/ 請問vue里面 再次點擊事件怎么寫

請問vue里面 再次點擊事件怎么寫

我第一次點擊按鈕 重算時

clipboard.png

顯示
clipboard.png

現(xiàn)在想在2個小時內(nèi)如果再次點擊重算按鈕如果事件還是一致的話就顯示

clipboard.png

這樣的事件該怎么寫呢

methods: {

       Retry(){
           let vm = this;
           global.post(api.handWork,this.listQuery,null,function(res) {
               //console.log('-------獲取返回信息:', JSON.stringify(res))
               Message({
                   showClose: true,
                   message: "正在重算"+vm.listQuery.departDate+"的發(fā)車成本預計,請2小時后查看。期間請不要再做重算的操作!",
                   type: 'warning'
               });
               // Message({
               //     showClose: true,
               //     message: "當前所選條件的重算正在進行!",
               //     type: 'warning'
               // });
           })
       }
    }

回答
編輯回答
喵小咪
1.首先,改一下this用方法吧,es6箭頭函數(shù)你值得擁有
if(sessionStorage.timeout){
          var timeDiff=new Date().getTime()-sessionStorage.timeout;
          console.log(timeDiff/1000)
          if(timeDiff/1000/60/60<2){
            Message({
              showClose: true,
              message: "正在重算"+this.listQuery.departDate+"的發(fā)車成本預計,請2小時后查看。期間請不要再做重算的操作!",
              type: 'warning'
            });
          }
          sessionStorage.timeout=new Date().getTime();
        }else{
          sessionStorage.timeout=new Date().getTime();
        }
        

大概思路就是用sessionStorage記錄一下,如果有值,就去比較,比較完之后重新存,沒有證明是第一次點擊。
但是如果后端每次返回時間戳的話會更好點,前端的時間是可改的

2017年9月27日 20:42
編輯回答
伴謊

前端做這個事情沒有意義, 你放緩存 ,稍微懂一點的,給你清理掉怎么辦,放vuex里面,頁面一刷新就沒了。也可以這么說,前端做功能性的計時操作沒有任何意義。交給后端吧

2017年7月9日 12:24
編輯回答
怣痛

加個變量 記錄每次點擊的時間戳 下一次點擊的時候 如果差值<2h進行判斷是否一致 從而是否顯示

2017年3月17日 07:45
編輯回答
我不懂

后端判斷。前端處理返回值。

2018年1月13日 23:35