欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue組件封裝實(shí)現(xiàn)抽獎(jiǎng)隨機(jī)數(shù)

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

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

一、子組件

<template>
? ? <div>
? ? ?<slot></slot>
? ? </div>
</template>
?
?
<script>
? ? ?export default {
? ? ? ? ?name:'countUp',
? ? ? ? ?props:{
? ? ? ? ? ? ?lastSymbol:{
? ? ? ? ? ? ? ? ?type:String,
? ? ? ? ? ? ? ? ?default:" 位" ?
? ? ? ? ? ? ?},
? ? ? ? ? ? ?value:{ //滾動(dòng)結(jié)束最終顯示數(shù)字
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:100,
? ? ? ? ? ? ?},
? ? ? ? ? ? ?from:{ // 開(kāi)始時(shí)的數(shù)字
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:0
? ? ? ? ? ? ?},
? ? ? ? ? ? ?speed:{ // 總時(shí)間
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:2000,
? ? ? ? ? ? ?},
? ? ? ? ? ? ?refreshInterval:{ // 刷新一次的時(shí)間
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:10,
? ? ? ? ? ? ?},
? ? ? ? ? ? ?beforeSize:{ //小數(shù)點(diǎn)前最小顯示位數(shù),不足的話用0代替?
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:0
? ? ? ? ? ? ?},
? ? ? ? ? ? ?decimals:{ // 小數(shù)點(diǎn)后的位數(shù),小數(shù)做四舍五入
? ? ? ? ? ? ? ? ?type:[String,Number],
? ? ? ? ? ? ? ? ?default:2
? ? ? ? ? ? ?},
? ? ? ? ? ? ?isstart:{ //是否開(kāi)始滾動(dòng)
? ? ? ? ? ? ? ? ?type:Boolean,
? ? ? ? ? ? ? ? ?default:true
? ? ? ? ? ? ?}
? ? ? ? ?},
? ? ? ? data(){
? ? ? ? ?return{
? ? ? ? ? ? ?loops:'', //刷新次數(shù)
? ? ? ? ? ? ?increment:'', //刷新一次增加的數(shù)值
? ? ? ? ? ? ?loopCount:'', //記錄刷新的次數(shù)
? ? ? ? ? ? CurrentValue:'', ?//開(kāi)始時(shí)候的數(shù)字
? ? ? ? ? ? interval:'', //定時(shí)器
? ? ? ? ? ? sizeNum:'',//當(dāng)前數(shù)字的長(zhǎng)度
? ? ? ? ? ? sizeNumBefore:'', //當(dāng)前數(shù)字小數(shù)點(diǎn)前的位數(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ù)字-開(kāi)始的數(shù)字)/刷新次數(shù) ,刷新一次增加的數(shù)值
? ? ? ? ? ? ? ? this.loopCount = 0 //記錄刷新的次數(shù)
? ? ? ? ? ? ? ? this.CurrentValue = this.from //開(kāi)始時(shí)候的數(shù)字
?
? ? ? ? ? ? ? ? this.interval = setInterval(this.updateTimer,this.refreshInterval) //設(shè)置定時(shí)器,沒(méi)個(gè)一段時(shí)間就執(zhí)行
? ? ? ? ? ? },
? ? ? ? ? ? updateTimer(){ //刷新一次數(shù)值疊加
? ? ? ? ? ? ?this.CurrentValue+=this.increment //當(dāng)前展示的值
? ? ? ? ? ? ?this.loopCount++ //刷新次數(shù)+1
? ? ? ? ? ? ?
? ? ? ? ? ? var tim = this.CurrentValue.toFixed(this.decimals) //對(duì)當(dāng)前值進(jìn)行四舍五入 ,tim四射物質(zhì)之后的當(dāng)前數(shù)值
?
? ? ? ? ? ? ?this.sizeNum = String(tim).length;
? ? ? ? ? ? ?
? ? ? ? ? ? ?this.sizeNumBefore = this.sizeNum - this.decimals - 1;
? ? ? ? ? ? ??
? ? ? ? ? ? ?if(this.sizeNumBefore>=this.beforeSize){ //當(dāng)前數(shù)字的小數(shù)點(diǎn)位數(shù)》=要求的小數(shù)點(diǎn)前位數(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)){ //清楚定時(shí)器
?
? ? ? ? ? ? ? ? ?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">是否開(kāi)始滾動(dòng)</button>
? </div>
</template>
?
<script>
?
import countUp from '../../components/countUp/countUp.vue'; ?//下拉框帶popup蒙層
export default {
? ?name:'cecountUp',
? ?components: { //注冊(cè)組件
? ? countUp
? },
?
? data() {
? ? return {
? ? ?currentNum:"即將開(kāi)始抽獎(jiǎng)", //當(dāng)前數(shù)值
? ? ?isstart:false, //是否開(kāi)始滾動(dòng)數(shù)值
? ? };
? },
? methods: {
? ?acceptValue(val){ //接收當(dāng)前的數(shù)值展示到頁(yè)面
? ? this.currentNum =val
? ?},
? ?goChoujiang(){ //更改抽獎(jiǎng)
? ? ? ?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>

三、效果展示

四、所用知識(shí)點(diǎn):

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

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

相關(guān)文章

  • Vue分析同步和異步有什么區(qū)別

    Vue分析同步和異步有什么區(qū)別

    這篇文章主要介紹了Vue分析同步和異步有什么區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-05-05
  • Vue3跨域解決方案實(shí)例詳解

    Vue3跨域解決方案實(shí)例詳解

    這篇文章主要介紹了Vue3跨域解決方案詳解,需要的朋友可以參考下
    2023-01-01
  • 詳解Vue的ref特性的使用

    詳解Vue的ref特性的使用

    這篇文章主要介紹了詳解Vue的ref特性的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • OpenDataV低代碼平臺(tái)新增組件流程詳解

    OpenDataV低代碼平臺(tái)新增組件流程詳解

    這篇文章主要為大家介紹了OpenDataV低代碼平臺(tái)新增組件流程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • vue中如何實(shí)現(xiàn)pdf文件預(yù)覽的方法

    vue中如何實(shí)現(xiàn)pdf文件預(yù)覽的方法

    這篇文章主要介紹了vue中如何實(shí)現(xiàn)pdf文件預(yù)覽的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • vue之延時(shí)刷新實(shí)例

    vue之延時(shí)刷新實(shí)例

    今天小編就為大家分享一篇vue之延時(shí)刷新實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Vue3監(jiān)聽(tīng)store中數(shù)據(jù)變化的三種方式

    Vue3監(jiān)聽(tīng)store中數(shù)據(jù)變化的三種方式

    這篇文章給大家介紹了Vue3監(jiān)聽(tīng)store中數(shù)據(jù)變化的三種方法,使用watch和storeToRefs函數(shù),使用計(jì)算屬性computed和使用watchEffect函數(shù)這三種方法,文中通過(guò)代碼講解非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • elementui的默認(rèn)樣式修改方法

    elementui的默認(rèn)樣式修改方法

    下面小編就為大家分享一篇elementui的默認(rèn)樣式修改方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • vue實(shí)現(xiàn)自定義多選按鈕

    vue實(shí)現(xiàn)自定義多選按鈕

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)自定義多選按鈕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • ArcGis?API?for?js在vue.js中的使用示例詳解

    ArcGis?API?for?js在vue.js中的使用示例詳解

    這篇文章主要為大家介紹了ArcGis?API?for?js在vue.js中的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08

最新評(píng)論