当前位置: 首页 > news >正文

数码电子产品网站建设策划书黔东南住房和城乡建设官网

数码电子产品网站建设策划书,黔东南住房和城乡建设官网,网站建设功能是什么,做头发个人网站制作素材把一个json的动图展示在页面上。使用的是插件lottie-miniprogramhttps://blog.csdn.net/qq_33769914/article/details/128705922之前介绍过。但是发现使用在taro使用的时候他会报错。那可能是因为我们 wx.createSelectorQuery().select(#canvas).node(res > {console.log(re…

把一个json的动图展示在页面上。使用的是插件lottie-miniprogramhttps://blog.csdn.net/qq_33769914/article/details/128705922之前介绍过。但是发现使用在taro使用的时候他会报错。

那可能是因为我们

wx.createSelectorQuery().select('#canvas').node(res => {

   console.log(res)//打印这个的时候是null。所以下面的res.node就会报错

const canvas = res.node

const context = canvas.getContext('2d')

})

我们可以应该把获取的生命周期改成useDidShow。然后再加个延迟。

useDidShow(()=>{

setTimeout(()=>{

init()

}, 0)

})

const init = ()=> {

if (inited.value) {

return

}

Taro.createSelectorQuery().select(`#lottie`).node(res => {

console.log("res",res)

const canvas = res.node

if(canvas){

const context = canvas.getContext('2d')

if (pixelRatio.value) {

context.scale(pixelRatio.value, pixelRatio.value)

canvas.width = 300* pixelRatio.value

canvas.height = 300* pixelRatio.value

}

Lottie.setup(canvas)

lottieObj = Lottie.loadAnimation({

loop: props.loop,

autoplay: props.autoplay,

animationData: props.jsonData,

rendererSettings: {

context,

},

})

inited.value = true

// emits('onComplete')

}

}).exec()

}

全部代码如下。把它方做一个组件使用lottieView.vue

<template>

<canvas class="canvas" :id="`lottie`" type="2d" />

</template>

<script lang="ts" setup>

import { onMounted, defineProps, ref } from 'vue'

import Taro from "@tarojs/taro";

import Lottie from 'lottie-miniprogram'

import lottieJson from './data.json'    //json的动画可以找产品要

const props = defineProps({

id: {

type: String,

default: ''

},

jsonData: {

type: Object,

default: lottieJson

},

autoplay: {

type: Boolean,

default: false

},

loop: {

type: Boolean,

defalut: false

},

assetsPath: {

type: String,

defalut: ''

}

})

const emits = defineEmits(['onComplete'])

const sysinfo = Taro.getSystemInfoSync(); //获取设备系统的数据

const pixelRatio = ref(sysinfo.pixelRatio)

let lottieObj: any = undefined

Taro.useDidShow(()=>{

console.log('lottie---useReady');

setTimeout(()=>{

init(1)

}, 0)

})

// onMounted(()=>{

// console.log('lottie---onMounted');

// setTimeout(()=>{

// init(3)

// }, 10)

// })

const inited = ref(false)

// 初始化加载动画

const init = (type)=> {

console.log("type",type)

if (inited.value) {

return

}

Taro.createSelectorQuery().select(`#lottie`).node(res => {

console.log("res",res)

const canvas = res.node

if(canvas){

const context = canvas.getContext('2d')

if (pixelRatio.value) {

context.scale(pixelRatio.value, pixelRatio.value)

canvas.width = 300* pixelRatio.value

canvas.height = 300* pixelRatio.value

}

Lottie.setup(canvas)

lottieObj = Lottie.loadAnimation({

loop: props.loop,

autoplay: props.autoplay,

animationData: props.jsonData,

rendererSettings: {

context,

},

})

inited.value = true

// emits('onComplete')

}

}).exec()

}

const play = () => {

lottieObj && lottieObj.play()

}

const stop = () => {

lottieObj && lottieObj.stop()

}

const pause = () => {

lottieObj && lottieObj.pause()

}

defineExpose({

play,

stop,

pause

})

</script>

<style lang="less"></style>

使用import LottieView from '@/magic-head/pages/components/lottieView'

<LottieView

class="lottie"

:autoplay="true"

:loop="true"

/>

http://www.yayakq.cn/news/736281/

相关文章:

  • 石家庄做公司网站apmserv搭建网站
  • 创建网站快捷方式到桌面营销技巧培训课程
  • 公司招人去哪个网站网页游戏吃显卡还是cpu
  • 兰州网站建设专家做网站拉客户有效吗
  • 网站的备案快速建站工具
  • 做电子商务系统网站荣耀手机官方官网
  • 建设公司网站哪家好建设商城网站费用
  • 甘肃省两学一做专题网站上海网站建设联系
  • 设计发明的网站营销型网站建设要求
  • 商城网站开发业务企业网站被转做非法用途
  • 酷虎云建站工具视频软件下载app
  • 上海最好的网站设计公司俄罗斯军事新闻最新消息
  • 无锡企业推广网站网站可不可以做自己的专利
  • 网站需求分析模板2024年1月新冠高峰期
  • 临海企业网站建设公司类似享设计的网站
  • 资讯网站策划怎么写不同类型的购物网站
  • 用dw设计网站模板下载地址网站改中文
  • shopex 网站搬家wordpress小蜜蜂插件
  • shopify建站公司ui设计课程内容
  • 做网站服务器在哪买电脑外设网站建设论文
  • 怎么建立网站数据库连接建设外包网站
  • 东莞效果好的网站建设房地产建筑公司网站
  • 岳阳网站开发建设定制网站哪个好
  • 石家庄西晨网站开发软件外包行业分析
  • 有没有专门做网站的基于lamp网站建设实例
  • 湖北网站推广公司渠道机械加工网18易3下7拉nrj
  • 怎样创建网站dw中国建设网站银行
  • 苏州企业如何建网站太原网站优化推广
  • 网上购物网站建设规划菜鸟制作个人网站网页实例
  • 武侯区网站建设app拉新推广平台有哪些