123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- <template>
- <!-- #ifdef APP -->
- <scroll-view style="flex: 1; padding-bottom: 20px">
- <!-- #endif -->
- <view>
- <page-head title="getApp"></page-head>
- <view class="uni-padding-wrap">
- <button @click="getGlobalData">get globalData</button>
- <template v-if="originGlobalData.str.length">
- <text class="uni-common-mt bold">初始的 globalData:</text>
- <text class="uni-common-mt">globalData string: {{ originGlobalData.str }}</text>
- <text class="uni-common-mt">globalData number: {{ originGlobalData.num }}</text>
- <text class="uni-common-mt">globalData boolean: {{ originGlobalData.bool }}</text>
- <text class="uni-common-mt">globalData object: {{ originGlobalData.obj }}</text>
- <text class="uni-common-mt">globalData null: {{ originGlobalData.null }}</text>
- <text class="uni-common-mt">globalData array: {{ originGlobalData.arr }}</text>
- <text class="uni-common-mt">globalData Set: {{ originGlobalData.mySet }}</text>
- <text class="uni-common-mt">globalData Map: {{ originGlobalData.myMap }}</text>
- <text class="uni-common-mt">globalData func 返回值: {{ originGlobalDataFuncRes }}</text>
- </template>
- <button @click="setGlobalData" class="uni-common-mt">
- set globalData
- </button>
- <template v-if="newGlobalData.bool">
- <text class="uni-common-mt bold">更新后的 globalData:</text>
- <text class="uni-common-mt">globalData string: {{ newGlobalData.str }}</text>
- <text class="uni-common-mt">globalData number: {{ newGlobalData.num }}</text>
- <text class="uni-common-mt">globalData boolean: {{ newGlobalData.bool }}</text>
- <text class="uni-common-mt">globalData object: {{ newGlobalData.obj }}</text>
- <text class="uni-common-mt">globalData null: {{ newGlobalData.null }}</text>
- <text class="uni-common-mt">globalData array: {{ newGlobalData.arr }}</text>
- <text class="uni-common-mt">globalData Set: {{ newGlobalData.mySet }}</text>
- <text class="uni-common-mt">globalData Map: {{ newGlobalData.myMap }}</text>
- <text class="uni-common-mt">globalData func 返回值: {{ newGlobalDataFuncRes }}</text>
- </template>
- <text class="uni-common-mt">点击按钮调用 App.uvue methods</text>
- <text class="uni-common-mt">increasetLifeCycleNum 方法</text>
- <button class="uni-common-mt" @click="_increasetLifeCycleNum">
- increase lifeCycleNum
- </button>
- <text class="uni-common-mt">lifeCycleNum: {{ lifeCycleNum }}</text>
- <!-- #ifndef MP -->
- <button class="uni-common-mt" @click="getAndroidApplication">
- getAndroidApplication
- </button>
- <text class="uni-common-mt">androidApplication is null: {{ androidApplication == null }}</text>
- <!-- #endif -->
- </view>
- </view>
- <!-- #ifdef APP -->
- </scroll-view>
- <!-- #endif -->
- </template>
- <script lang="uts">
- import { state, setLifeCycleNum } from '@/store/index.uts'
- type MyGlobalData = {
- str : string,
- num : number,
- bool : boolean,
- obj : UTSJSONObject,
- null : string | null,
- arr : number[],
- mySet : string[],
- myMap : UTSJSONObject,
- func : () => string
- }
- export default {
- data() {
- return {
- originGlobalData: {
- str: '',
- num: 0,
- bool: false,
- obj: {
- str: '',
- num: 0,
- bool: false
- } as UTSJSONObject,
- null: null,
- arr: [] as number[],
- mySet: [] as string[],
- myMap: {},
- func: () : string => ''
- } as MyGlobalData,
- originGlobalDataFuncRes: '',
- newGlobalData: {
- str: '',
- num: 0,
- bool: false,
- obj: {
- str: '',
- num: 0,
- bool: false
- } as UTSJSONObject,
- null: null,
- arr: [] as number[],
- mySet: [] as string[],
- myMap: {},
- func: () : string => ''
- } as MyGlobalData,
- newGlobalDataFuncRes: '',
- lifeCycleNum: 0,
- androidApplication: null as any | null
- }
- },
- onReady() {
- this.lifeCycleNum = state.lifeCycleNum
- },
- methods: {
- getGlobalData() {
- const app = getApp()
- this.originGlobalData.str = app.globalData.str
- this.originGlobalData.num = app.globalData.num
- this.originGlobalData.bool = app.globalData.bool
- this.originGlobalData.obj = app.globalData.obj
- this.originGlobalData.null = app.globalData.null
- this.originGlobalData.arr = app.globalData.arr
- app.globalData.mySet.forEach((value : string) => {
- this.originGlobalData.mySet.push(value)
- })
- app.globalData.myMap.forEach((value : any, key : string) => {
- this.originGlobalData.myMap[key] = value
- })
- this.originGlobalData.func = app.globalData.func
- this.originGlobalDataFuncRes = this.originGlobalData.func()
- },
- setGlobalData() {
- const app = getApp()
- app.globalData.str = 'new globalData str'
- app.globalData.num = 100
- app.globalData.bool = true
- app.globalData.obj = {
- str: 'new globalData obj str',
- num: 200,
- bool: true
- }
- app.globalData.null = 'not null'
- app.globalData.arr = [1, 2, 3]
- app.globalData.mySet = new Set(['a', 'b', 'c'])
- app.globalData.myMap = new Map([
- ['a', 1],
- ['b', 2],
- ['c', 3]
- ])
- app.globalData.func = () : string => {
- return 'new globalData func'
- }
- this.newGlobalData.str = app.globalData.str
- this.newGlobalData.num = app.globalData.num
- this.newGlobalData.bool = app.globalData.bool
- this.newGlobalData.obj = app.globalData.obj
- this.newGlobalData.null = app.globalData.null
- this.newGlobalData.arr = app.globalData.arr
- app.globalData.mySet.forEach((value : string) => {
- this.newGlobalData.mySet.push(value)
- })
- app.globalData.myMap.forEach((value : any, key : string) => {
- this.newGlobalData.myMap[key] = value
- })
- this.newGlobalData.func = app.globalData.func
- this.newGlobalDataFuncRes = this.newGlobalData.func()
- },
- _increasetLifeCycleNum: function () {
- const app = getApp()
- app.vm!.increasetLifeCycleNum()
- this.lifeCycleNum = state.lifeCycleNum
- },
- // 自动化测试
- setLifeCycleNum(num : number) {
- setLifeCycleNum(num)
- },
- // #ifndef MP
- getAndroidApplication() : boolean {
- const app = getApp()
- this.androidApplication = app.getAndroidApplication()
- return this.androidApplication !== null
- }
- // #endif
- },
- }
- </script>
- <style>
- .bold {
- font-weight: bold;
- }
- .hr {
- border-bottom: 1px solid #ccc;
- }
- </style>
|