call-method-easycom-uni-modules.uvue 1.7 KB
Newer Older
H
hdx 已提交
1 2
<template>
  <view>
H
hdx 已提交
3
    <call-easy-method-uni-modules ref="callEasyMethod1"></call-easy-method-uni-modules>
H
hdx 已提交
4 5 6 7
  </view>
</template>

<script>
H
hdx 已提交
8 9
  import { testInOtherFile } from './call-method-easycom-uni-modules'

H
hdx 已提交
10 11 12
  export default {
    data() {
      return {
雪洛's avatar
雪洛 已提交
13
        callEasyMethod1: null as CallEasyMethodUniModulesComponentPublicInstance | null
H
hdx 已提交
14 15 16 17
      }
    },
    onReady() {
      // 通过组件 ref 属性获取组件实例, 组件标签名首字母大写,驼峰+ComponentPublicInstance
雪洛's avatar
雪洛 已提交
18
      this.callEasyMethod1 = this.$refs['callEasyMethod1'] as CallEasyMethodUniModulesComponentPublicInstance;
H
hdx 已提交
19 20 21 22
    },
    methods: {
      callMethod1() {
        // 调用组件的 foo1 方法
雪洛's avatar
雪洛 已提交
23
        this.callEasyMethod1!.foo1();
H
hdx 已提交
24 25 26
      },
      callMethod2() {
        // 调用组件的 foo2 方法并传递 1个参数
雪洛's avatar
雪洛 已提交
27
        this.callEasyMethod1!.foo2(Date.now());
H
hdx 已提交
28 29 30
      },
      callMethod3() {
        // 调用组件的 foo3 方法并传递 2个参数
雪洛's avatar
雪洛 已提交
31
        this.callEasyMethod1!.foo3(Date.now(), Date.now());
H
hdx 已提交
32 33 34
      },
      callMethod4() {
        // 调用组件的 foo4 方法并传递 callback
雪洛's avatar
雪洛 已提交
35
        this.callEasyMethod1!.foo4(() => {
H
hdx 已提交
36 37 38 39 40
          console.log('callback')
        });
      },
      callMethod5() {
        // 注意: 返回值可能为 null,当前例子一定不为空,所以加了 !
雪洛's avatar
雪洛 已提交
41
        const result = this.callEasyMethod1!.foo5('string1') as string;
H
hdx 已提交
42 43
        console.log(result); // string1
      },
H
hdx 已提交
44
      callMethodTest(text: string): string | null {
雪洛's avatar
雪洛 已提交
45
        const result = this.callEasyMethod1!.foo5(text) as string;
H
hdx 已提交
46 47
        return result;
      },
H
hdx 已提交
48
      callMethodInOtherFile(text: string): string {
雪洛's avatar
雪洛 已提交
49
        return testInOtherFile(this.callEasyMethod1!, text);
H
hdx 已提交
50
      },
H
hdx 已提交
51 52 53
    }
  }
</script>