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

vue組件封裝實現(xiàn)抽獎隨機數(shù)

 更新時間:2022年03月09日 14:36:17   作者:12歲零120個月的孩子  
這篇文章主要為大家詳細介紹了vue組件封裝實現(xiàn)抽獎隨機數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue組件封裝實現(xiàn)抽獎隨機數(shù)的具體代碼,供大家參考,具體內(nèi)容如下

一、子組件

<template>
? ? <div>
? ? ?<slot></slot>
? ? </div>
</template>
?
?
<script>
? ? ?export default {
? ? ? ? ?name:'countUp',
? ? ? ? ?props:{
? ? ? ? ? ? ?lastSymbol:{
? ? ? ? ? ? ? ? ?type:String,
? ? ? ? ? ? ? ? ?default:" 位" ?
? ? ? ? ? ? ?},
? ? ? ? ? ? ?value:{ //滾動結(jié)束最終顯示數(shù)字
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:100,
? ? ? ? ? ? ?},
? ? ? ? ? ? ?from:{ // 開始時的數(shù)字
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:0
? ? ? ? ? ? ?},
? ? ? ? ? ? ?speed:{ // 總時間
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:2000,
? ? ? ? ? ? ?},
? ? ? ? ? ? ?refreshInterval:{ // 刷新一次的時間
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:10,
? ? ? ? ? ? ?},
? ? ? ? ? ? ?beforeSize:{ //小數(shù)點前最小顯示位數(shù),不足的話用0代替?
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:0
? ? ? ? ? ? ?},
? ? ? ? ? ? ?decimals:{ // 小數(shù)點后的位數(shù),小數(shù)做四舍五入
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:2
? ? ? ? ? ? ?},
? ? ? ? ? ? ?isstart:{ //是否開始滾動
? ? ? ? ? ? ? ? ?type:Boolean,
? ? ? ? ? ? ? ? ?default:true
? ? ? ? ? ? ?}
? ? ? ? ?},
? ? ? ? data(){
? ? ? ? ?return{
? ? ? ? ? ? ?loops:'', //刷新次數(shù)
? ? ? ? ? ? ?increment:'', //刷新一次增加的數(shù)值
? ? ? ? ? ? ?loopCount:'', //記錄刷新的次數(shù)
? ? ? ? ? ? CurrentValue:'', ?//開始時候的數(shù)字
? ? ? ? ? ? interval:'', //定時器
? ? ? ? ? ? sizeNum:'',//當前數(shù)字的長度
? ? ? ? ? ? sizeNumBefore:'', //當前數(shù)字小數(shù)點前的位數(shù)
? ? ? ? ? ? ? }
?
? ? ? ? ? },
? ? ? ? ?watch:{
? ? ? ? ? ? isstart(val){
? ?
? ? ? ? ? ? ? ? if(val){
? ? ? ? ? ? ? ? ? this.start()
? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? clearInterval(this.interval);
? ? ? ? ? ? ? ? }
?
? ? ? ? ? ? }
? ? ? ? ?},
? ? ? ? methods:{
? ? ? ? ? ? start(){
? ? ? ? ? ? ? ?this.loops = Math.ceil(this.speed / this.refreshInterval)//刷新次數(shù)
?
? ? ? ? ? ? ? ? this.increment = (this.value - this.from)/this.loops ?//(結(jié)束的數(shù)字-開始的數(shù)字)/刷新次數(shù) ,刷新一次增加的數(shù)值
? ? ? ? ? ? ? ? this.loopCount = 0 //記錄刷新的次數(shù)
? ? ? ? ? ? ? ? this.CurrentValue = this.from //開始時候的數(shù)字
?
? ? ? ? ? ? ? ? this.interval = setInterval(this.updateTimer,this.refreshInterval) //設(shè)置定時器,沒個一段時間就執(zhí)行
? ? ? ? ? ? },
? ? ? ? ? ? updateTimer(){ //刷新一次數(shù)值疊加
? ? ? ? ? ? ?this.CurrentValue+=this.increment //當前展示的值
? ? ? ? ? ? ?this.loopCount++ //刷新次數(shù)+1
? ? ? ? ? ? ?
? ? ? ? ? ? var tim = this.CurrentValue.toFixed(this.decimals) //對當前值進行四舍五入 ,tim四射物質(zhì)之后的當前數(shù)值
?
? ? ? ? ? ? ?this.sizeNum = String(tim).length;
? ? ? ? ? ? ?
? ? ? ? ? ? ?this.sizeNumBefore = this.sizeNum - this.decimals - 1;
? ? ? ? ? ? ??
? ? ? ? ? ? ?if(this.sizeNumBefore>=this.beforeSize){ //當前數(shù)字的小數(shù)點位數(shù)》=要求的小數(shù)點前位數(shù)
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?this.$emit('sendValue',tim + this.lastSymbol)
?
? ? ? ? ? ? ?}else{
?
? ? ? ? ? ? ? ? ? tim = Array(this.beforeSize-this.sizeNumBefore + 1).join('0') + tim;
? ? ? ? ? ? ? ? ? this.$emit('sendValue',tim + this.lastSymbol)
?
? ? ? ? ? ? ?}
?
?
? ? ? ? ? ? if(Number(this.loopCount)>=Number(this.loops)){ //清楚定時器
?
? ? ? ? ? ? ? ? ?clearInterval(this.interval);
?
? ? ? ? ? ? ?}
?
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? },
? ? ?
? ? ?}
</script>
<style scoped>?
? ??
</style>

二、父組件

<template>
? <div class="about marquee">
??
?
? ? <count-up value="99.99" decimals="0" :isstart="isstart" @sendValue="acceptValue"><span class="changeNum">{{currentNum}}</span></count-up>
?
? ? <button class="btn" @click="goChoujiang">是否開始滾動</button>
? </div>
</template>
?
<script>
?
import countUp from '../../components/countUp/countUp.vue'; ?//下拉框帶popup蒙層
export default {
? ?name:'cecountUp',
? ?components: { //注冊組件
? ? countUp
? },
?
? data() {
? ? return {
? ? ?currentNum:"即將開始抽獎", //當前數(shù)值
? ? ?isstart:false, //是否開始滾動數(shù)值
? ? };
? },
? methods: {
? ?acceptValue(val){ //接收當前的數(shù)值展示到頁面
? ? this.currentNum =val
? ?},
? ?goChoujiang(){ //更改抽獎
? ? ? ?this.isstart = !this.isstart
? ?}
??
? },
?}
</script>
?
?
<style scoped>
? .changeNum{
? ? color:red;
? ? font-size: 32px;
? }
? .btn{
? ? background-color: pink;
? ? box-shadow:0px 2px 4px 0px rgba(255,130,0,0.7)
? }
</style>

三、效果展示

四、所用知識點:

父子組件之間的傳值,定時器setInterval(),清楚定時器clearInterval(),tofixed()四舍五入方法

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

相關(guān)文章

  • Vue如何獲取元素高度總是不準確的問題

    Vue如何獲取元素高度總是不準確的問題

    這篇文章主要介紹了Vue如何獲取元素高度總是不準確的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 如何基于uniapp開發(fā)android播放webrtc流詳解

    如何基于uniapp開發(fā)android播放webrtc流詳解

    這篇文章主要介紹了在uniapp中播放RTSP和WebRTC協(xié)議流的區(qū)別,以及如何封裝WebrtcVideo組件和音視頻實時通訊的實現(xiàn),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • Vue使用Echarts畫柱狀圖詳解

    Vue使用Echarts畫柱狀圖詳解

    數(shù)據(jù)的重要性我們大家都知道,就算再小的項目中都可能使用幾個圖表展示,我最近在做項目的過程中也是需要用到圖表,最后選擇了echarts圖表庫,這篇文章主要介紹了Vue使用Echarts畫柱狀圖
    2022-12-12
  • 淺談Vuex注入Vue生命周期的過程

    淺談Vuex注入Vue生命周期的過程

    這篇文章主要介紹了Vuex 注入 Vue 生命周期的過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 基于vue2.0動態(tài)組件及render詳解

    基于vue2.0動態(tài)組件及render詳解

    下面小編就為大家分享一篇基于vue2.0動態(tài)組件及render詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue3 + ts + pnpm:nprogress / 頁面頂部進度條效果實現(xiàn)

    vue3 + ts + pnpm:nprogress / 頁

    NProgress是一款輕量級的進度條庫,主要用于網(wǎng)頁頂部顯示頁面加載或運行進度,它易于安裝和使用,并提供良好的視覺效果,NProgress也可以與VueRouter結(jié)合使用,通過導(dǎo)航守衛(wèi)在路由跳轉(zhuǎn)時自動顯示和隱藏進度條,該庫的使用提高了用戶對網(wǎng)頁加載狀態(tài)的感知,優(yōu)化了用戶體驗
    2024-09-09
  • vue屬性props默認類型的寫法介紹

    vue屬性props默認類型的寫法介紹

    這篇文章主要介紹了vue屬性props默認類型的寫法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue中的組件及路由使用實例代碼詳解

    Vue中的組件及路由使用實例代碼詳解

    組件系統(tǒng)是 Vue 的一個重要概念,因為它是一種抽象,允許我們使用小型、獨立和通??蓮?fù)用的組件構(gòu)建大型應(yīng)用。這篇文章主要介紹了Vue中的組件及路由使用 ,需要的朋友可以參考下
    2019-05-05
  • 解決VUE的對話框el-dialog點擊外部消失問題

    解決VUE的對話框el-dialog點擊外部消失問題

    這篇文章主要介紹了解決VUE的對話框el-dialog點擊外部消失問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • vue+elementUI(el-upload)圖片壓縮,默認同比例壓縮操作

    vue+elementUI(el-upload)圖片壓縮,默認同比例壓縮操作

    這篇文章主要介紹了vue+elementUI(el-upload)圖片壓縮,默認同比例壓縮操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評論

陵川县| 定襄县| 翁源县| 新竹市| 嘉义市| 山东| 达拉特旗| 江达县| 醴陵市| 四子王旗| 昭平县| 根河市| 崇州市| 平原县| 水富县| 苗栗县| 鄢陵县| 称多县| 九寨沟县| 宁德市| 宿松县| 洛宁县| 安徽省| 应用必备| 来凤县| 方山县| 库尔勒市| 会理县| 宁明县| 新源县| 灵石县| 含山县| 凤阳县| 彭州市| 广德县| 浮山县| 石家庄市| 辽阳县| 开封市| 德保县| 新竹县|