最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在vue中使用setInterval的方法示例

 更新時(shí)間:2019年04月16日 11:12:19   作者:Wessonlu  
這篇文章主要介紹了在vue中使用setInterval的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

昨天在用vue開發(fā)項(xiàng)目的時(shí)候遇到一個(gè)坑,在群友的探討中,成功的解決了這一問題。

具體情形如下:使用vue開發(fā),在頁面中有一個(gè)人數(shù)統(tǒng)計(jì)組件,人數(shù)統(tǒng)計(jì)是要?jiǎng)討B(tài)變化數(shù)據(jù)的,由于目前沒有真實(shí)數(shù)據(jù),那么我想的是用隨機(jī)數(shù)和setInterval來改變data里面的數(shù)據(jù),從而做到數(shù)據(jù)實(shí)時(shí)變化,這樣方便與我來做數(shù)字翻頁動(dòng)畫。

代碼如下:

<template>
  <div class="totel-number">
    <div class="panel-top">
      <div class="panel-top_Left"></div>
      <div class="panel-top_Text flex-center" >數(shù)量</div>
      <div class="panel-top_Right"></div>
    </div>
    <div class="panel-body">
      <div class="counter-wrap">
        <ul class="counter-board">
          <li class="num-board" v-for="item in totelNumber">
            <span class="num u">
              <i class="w">{{item}}</i>
            </span>
            <span class="num b">
              <i class="w">{{item}}</i>
            </span>
          </li>
        </ul>
      </div>
    </div>
    <i class="cc-Corner cc-C-t cc-C-l"></i>
    <i class="cc-Corner cc-C-t cc-C-r"></i>
    <i class="cc-Corner cc-C-b cc-C-r"></i>
    <i class="cc-Corner cc-C-b cc-C-l"></i>
  </div>
</template>
<script>
import $ from 'jquery'
import * as d3 from 'd3';
export default {
  data(){
    return {
      totelNumber: new Array(8)
    }
  },
  beforeMount() {
     //設(shè)置定時(shí)器,每3秒刷新一次
     var self = this;
     setInterval(getTotelNumber,1000)
     function getTotelNumber() {
       for(let i=0; i < self.totelNumber.length; i++){
         self.totelNumber[i] = Math.ceil(Math.random()*10) -1 
       }
     }
     getTotelNumber();   
  }
}
</script>

大家有發(fā)現(xiàn)問題嗎?

在beforeMount里面console.log(this.totelNumber)會(huì)發(fā)現(xiàn)數(shù)據(jù)是在變化的,但是頁面上是沒有任何變化。

這是什么原因呢?

方法:先把問題分解開,就懷疑的幾個(gè)點(diǎn)做正反的驗(yàn)證

在多次驗(yàn)證在多次驗(yàn)證和查看文檔后強(qiáng)哥找到了:

需要注意的是有兩種情況不會(huì)觸發(fā)視圖更新,需要換種變通寫法:

- 當(dāng)你利用索引直接設(shè)置一個(gè)項(xiàng)時(shí),例如: vm.items[indexOfItem] = newValue
- 當(dāng)你修改數(shù)組的長(zhǎng)度時(shí),例如: vm.items.length = newLength

更具這個(gè)思路我就明白了為什么會(huì)有這樣的坑,然后就將代碼進(jìn)行了改進(jìn):

<script>
import $ from 'jquery'
import * as d3 from 'd3';
export default {
  data(){
    return {
      totelNumber: new Array(8)
    }
  },
  beforeMount() {
     //設(shè)置定時(shí)器,每3秒刷新一次
     var self = this;
     setInterval(getTotelNumber,1000)
     function getTotelNumber() {
       let newArray = new Array(8)
       for(let i=0; i < this.totelNumber.length; i++){
        newArray[i] = Math.ceil(Math.random()*10) -1
      }
      self.totelNumber = newArray
     }
     getTotelNumber();   
  }
}
</script>

如此一來就可將數(shù)據(jù)實(shí)時(shí)動(dòng)態(tài)刷新呈現(xiàn)在頁面上。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue開發(fā)runtime core中的虛擬節(jié)點(diǎn)示例詳解

    vue開發(fā)runtime core中的虛擬節(jié)點(diǎn)示例詳解

    這篇文章主要為大家介紹了vue開發(fā)runtime core中的虛擬節(jié)點(diǎn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Vue項(xiàng)目獲取url中的參數(shù)(親測(cè)可用)

    Vue項(xiàng)目獲取url中的參數(shù)(親測(cè)可用)

    這篇文章主要介紹了Vue項(xiàng)目獲取url中的參數(shù),本文通過兩種情況分析給大家詳細(xì)介紹,感興趣的朋友一起看看吧
    2022-08-08
  • Vue自定義部分頁面顯示導(dǎo)航欄功能

    Vue自定義部分頁面顯示導(dǎo)航欄功能

    這篇文章主要介紹了Vue自定義部分頁面顯示導(dǎo)航欄,在設(shè)計(jì)導(dǎo)航欄的時(shí)候,考慮到登錄之前不能瀏覽該網(wǎng)站,所以需要在登錄頁和注冊(cè)頁不能出現(xiàn)導(dǎo)航欄,登錄后的頁面才能出現(xiàn)導(dǎo)航欄,本文給大家解決這個(gè)問題,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • until封裝watch常用邏輯簡(jiǎn)化代碼寫法

    until封裝watch常用邏輯簡(jiǎn)化代碼寫法

    這篇文章主要介紹了until將watch最常用的邏輯進(jìn)行封裝簡(jiǎn)化代碼寫法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • vue前端靈活改變后端地址兩種方式

    vue前端靈活改變后端地址兩種方式

    最近在學(xué)習(xí)或工作中遇到,把Vue前端項(xiàng)目打包后,要求可以再次修改請(qǐng)求后端接口的基礎(chǔ)地址,下面這篇文章主要給大家介紹了關(guān)于vue前端靈活改變后端地址的兩種方式,需要的朋友可以參考下
    2024-03-03
  • vue項(xiàng)目及axios請(qǐng)求獲取數(shù)據(jù)方式

    vue項(xiàng)目及axios請(qǐng)求獲取數(shù)據(jù)方式

    這篇文章主要介紹了vue項(xiàng)目及axios請(qǐng)求獲取數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue $emit $refs子父組件間方法的調(diào)用實(shí)例

    Vue $emit $refs子父組件間方法的調(diào)用實(shí)例

    今天小編就為大家分享一篇Vue $emit $refs子父組件間方法的調(diào)用實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue3中Cesium地圖初始化及地圖控件配置方法

    Vue3中Cesium地圖初始化及地圖控件配置方法

    本文中,我們主要介紹Cesium在Vue3運(yùn)行環(huán)境的配置,及Cesium實(shí)例中控件的顯隱設(shè)置,本項(xiàng)目基于pnpm安裝,也可使用其他包管理器進(jìn)行安裝,如npm或yarn,本文通過示例代碼對(duì)vue初始化Cesium地圖相關(guān)知識(shí)介紹的非常詳細(xì),需要的朋友參考下吧
    2023-07-07
  • vue 自動(dòng)生成swagger接口請(qǐng)求文件的方法

    vue 自動(dòng)生成swagger接口請(qǐng)求文件的方法

    這篇文章主要介紹了vue 自動(dòng)生成swagger接口請(qǐng)求文件的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Vue2.0 $set()的正確使用詳解

    Vue2.0 $set()的正確使用詳解

    這篇文章主要介紹了Vue2.0 $set()的正確使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評(píng)論

宣化县| 文安县| 上林县| 天峨县| 凤冈县| 大洼县| 平原县| 绿春县| 香河县| 和平县| 贵定县| 镇远县| 涿州市| 翼城县| 连山| 康保县| 新源县| 同江市| 奉贤区| 东城区| 崇礼县| 横山县| 出国| 乌拉特中旗| 海安县| 容城县| 合山市| 大名县| 洪江市| 平乐县| 长泰县| 道孚县| 轮台县| 北海市| 靖州| 盘山县| 县级市| 丰城市| 渝北区| 阿勒泰市| 哈密市|