Vue.js 软件包提供开发人员在开发迷你应用程序时可能会用到的实用工具。- S5 s: B' f1 J/ a) H
7 C6 R) l- v6 Z/ \6 L6 c* oTIP 由于此软件包提供了扩展 @telegram-apps/sdk 功能的实用功能,建议先查看 SDK 软件包的 文档。 ; H6 a1 t9 |; n, h: T7 B2 |
9 H: P" U9 T) i4 h安装在继续之前,假定您已经安装了 vue 软件包,因为它是此软件包的 的同级依赖关系。 pnpm : - pnpm i @telegram-apps/sdk-vue
复制代码npm : - npm i @telegram-apps/sdk-vue
复制代码yarn : - yarn add @telegram-apps/sdk-vue
复制代码INFO 此软件包完全重新导出了 @telegram-apps/sdk 软件包,因此 您无需单独安装它。 用法下面是该软件包的一个简单使用示例: index.tsx - import { createApp } from 'vue';
4 `( c. I( C' L5 e& z; F - import { init, backButton } from '@telegram-apps/sdk-vue';
" S ~2 V8 Q! ~% }1 D$ T( @ B - $ ]' p$ c3 L4 p9 X) }- u
- import { BackButton } from './BackButton.vue';
3 q- ^$ k( }- M8 h3 a& a9 O# D
+ V$ W+ `4 Q5 N! t# J( }- // Initialize the package.- ]3 Y; K4 R, u, |- e1 y' i
- init();
! E# B" ~" ~* P7 T, F$ ^
5 Y: z6 E& y( l$ o5 X- const app = createApp(BackButton);
) j' @) z( H, Z. o/ ?, C - ) R' f% w0 I+ k, M! }
- // Mount the Back Button, so we will work with
3 a! J! @' @/ j" o" ? - // the actual component properties.
7 _8 u# w S5 d9 W5 e: ]3 p - backButton.mount();
. g8 c/ ~! d B
% _8 q. D; B. u- app.mount('#root');
复制代码BackButton.vue - /**
3 |/ h' V! `# r7 I2 V E# H - * Component which controls the Back Button visibility.
) x7 o% ^$ ?) X- o' { J - */8 c9 k4 C" P" F
- <script setup lang="ts">
; i" ^6 i( H0 f. i2 [1 R - import { watchEffect, onMounted, onUnmounted } from 'vue';, T8 S3 j+ A9 y, o2 w1 H& G7 b2 Y
- import { backButton, useSignal } from '@telegram-apps/sdk-vue';
8 T) p1 a: M0 ~$ F
3 L3 B6 C- c5 f0 J$ Z, w- const isVisible = useSignal(backButton.isVisible);' A6 |% V* Z0 G3 T6 B4 U
$ M. K$ |# x" {# L+ K- watchEffect(() => {3 a) R7 s9 Y% |" [& N
- console.log('The button is', isVisible.value ? 'visible' : 'invisible');
( ~+ X, f1 [2 E2 ~ - });
6 K5 _* O3 O3 Z3 Y( } - * f& K6 L2 S6 M1 m, w
- onMounted(() => {4 Q! A( {7 o# W# e
- backButton.show();
/ i! v8 n4 o$ [. d7 {0 n0 M - });
1 E) y I+ q1 ^4 j8 `7 P - ! T8 Q5 z# ^0 ~) P" a
- onUnmounted(() => {& P8 _% E/ S) k7 K; T/ Y6 T
- backButton.hide();% p# g+ v Y: ~9 b+ B- R. ?
- });* V" I6 F; p* h% q& T
- </script>
9 U* e9 l$ ]8 H1 B! Z9 X - " a3 j5 @1 U6 [# z, K8 p G4 k
- <template></template>
复制代码 HooksuseSignal该辅助工具允许您在应用程序中使用我们的 signals。它 返回一个 Vue ref,每次我们的信号发生变化时,它都会更新。 - <script setup lang="ts">1 `7 F3 e4 k. S+ c1 L
- import { watchEffect, onMounted, onUnmounted } from 'vue';+ v% N; [" i, I$ n, R
- import { backButton, useSignal } from '@telegram-apps/sdk-vue';; L2 ^3 D; ?1 {6 V) J k
9 m3 M2 h8 K' h- const isVisible = useSignal(backButton.isVisible);! X/ q' }7 x- b1 K7 J4 c) M
1 W9 @( N5 V' J* \( a$ i) ]- watchEffect(() => {
% b @% i5 \7 l5 V" L' k - console.log('The button is', isVisible.value ? 'visible' : 'invisible');
. m6 N7 ^7 `5 a9 \7 i - });: E3 v3 K) H; G. b6 B
- 2 ?/ Y8 O0 W( M( I: }' T. V4 g1 K7 W
- onMounted(() => {# E" `& D8 I N7 ~: _1 }
- backButton.show();2 S, D, L0 A2 Q3 d( I& W3 c
- });# C- b4 _2 c( _" O% Q6 C
- $ ?4 j% m# o' ]
- onUnmounted(() => {1 x. h( T( w3 c( A0 Y; d
- backButton.hide();
6 Z0 }& h* l! k! N9 _ - });+ P: p5 d9 q9 ]' z7 R
- </script>& m) `( K% m1 D9 ^/ T
; n, \. Y% `" o$ c- <template></template>
复制代码 useLaunchParams返回迷你应用程序启动参数的函数。 - <script setup lang="ts"># a( u6 \8 z: t, s- X
- import { useLaunchParams } from '@telegram-apps/sdk-vue';9 v2 Z8 h. V/ d a( I, H
- 5 P) o* t: \2 e8 [
- const lp = useLaunchParams();
0 G( W7 M5 t5 n! Y, J$ F* U - </script>! T( x% i0 X( f( x3 X0 U
- # |) v# a7 b* t$ B; d$ w
- <template>( W3 M7 x3 G3 b" Y& K. f
- <div>Start param: {{ lp.startParam }}</div>
$ ]8 b7 E) c9 g; q4 w/ N+ [# \ - </template>
复制代码 $ T |! X8 _( M
- ^5 }+ ?0 q! B6 A. e8 g
# M) k1 o2 |/ H: U
|