当前位置: 首页 > 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/935004/

相关文章:

  • 还有那个网站可以做兼职呢全网营销外包全网天下
  • 虾皮这种网站根本不值得做天津做网站找哪家公司
  • 假视频网站源码出售公司建站模版
  • 温州市网站建设哪家公司好联盟营销平台
  • 外贸平台免费网站南京营销网站建设
  • 网站建设英文怎么写网站开发新型技术
  • 怎么用ppt做网站设计免费网站大全app
  • 海外访问国内网站 dns企业网站运行通知
  • 园林景观设计案例网站网站怎么做高权重
  • win7家用电脑做网站服务器最简单做网站
  • 长沙专业网站制作设计建网站的电脑可以换位置吗
  • 境外网站icp备案网站开发网站模板设计
  • 自贡公司做网站餐厅网站开发背景
  • 做网站语言排名2018网站index.php被修改
  • 深圳网站优化页面网站开站备案
  • 怎样给网站或者商品做推广鄂州第一网官方网站
  • 简易网站制作软件房产网站建设网站推广
  • 辽阳免费网站建设爱站小工具计算器
  • 做优秀网站大连房地产网站建设
  • 推广型网站建设网站建设app开发销售好做吗
  • 青少年思想道德建设网站免费建设淘宝客网站
  • 重庆做网站的网站子页面怎么做的
  • jsp网站 值班功能vultr安装wordpress
  • 防城港网站建设镇江久一信息科技
  • 南阳网站建设南阳内容网站设计范例
  • 常州网站设计公司上海网站建设招聘
  • 网站域名申请流程网站用vps做dns
  • 四平做网站佳业网络网站做排名有用吗
  • 网站背景响应式网页设计技术
  • wordpress个性化后台seo排名第一