vue3中使用wx-open-launch-weapp

文章展示了如何在Vue项目中使用Vite配置处理wx-open-launch-weapp组件,以便在页面上创建一个跳转到小程序的按钮。通过在main.ts和vite.config.ts中设置编译选项,并在模板中定义组件和事件监听,当用户点击按钮时触发小程序跳转事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在main.ts里面写入以下内容

const app = createApp(App)
app.config.compilerOptions.isCustomElement = (tag) => {
	return tag.startsWith('wx-open-launch-weapp')
}

在vite.config.ts里面写

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({
    plugins: [vue({
      template: {
        compilerOptions: {
	      isCustomElement: (tag) => tag.includes('wx-open-launch-weapp')
	    }
      }
    })]
})

在页面中写入

<template>
  <div class="applet">
    <wx-open-launch-weapp
      :id="jumpAppletId"
      username=""
      :path="jumpAppletSrc"
      :style="{width: '100%', height: '100%', display: 'block', position: 'relative'}"
    >
      <div
        v-is="'script'"
        type="text/wxtag-template"
        style="display: block;"
      >
        <div v-is="'style'">
          .applet-btn {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          display: flex;
          align-items: center;
          justify-content: center;
          color: transparent;
          font-size: 12px;
          margin: auto;
          width: 100%;
          height: 100%;
          padding: 0;
          border: none;
          background-color: transparent;
          }
        </div>
        <button class="applet-btn">
          打卡小程序
        </button>
      </div>
    </wx-open-launch-weapp>
  </div>
</template>
<script setup lang="ts">
import { onMounted } from 'vue'
const props = withDefaults(defineProps<{
  jumpAppletSrc: string,
  jumpAppletId: string
}>(), {
	jumpAppletId: 'launchBtn'
})
const emit = defineEmits(['jumpApplet'])

onMounted(() => {
	let btn = document.getElementById(props.jumpAppletId)
	btn.addEventListener('launch', (e: any) => {
		if (e.detail) {
			emit('jumpApplet')
		}
	})
})
</script>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值