{"id":847,"date":"2023-12-04T20:04:44","date_gmt":"2023-12-04T12:04:44","guid":{"rendered":"http:\/\/152.136.136.144\/?p=847"},"modified":"2024-01-04T14:22:08","modified_gmt":"2024-01-04T06:22:08","slug":"arkts%e6%80%bb%e7%bb%93","status":"publish","type":"post","link":"https:\/\/gjweb.top\/?p=847","title":{"rendered":"ArkTS\u603b\u7ed3"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u81ea\u5b9a\u4e49\u7ec4\u4ef6<\/h2>\n\n\n\n<p>\u793a\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Component\nstruct myComponent{\n    ...\n    build(){\n        ....\n    }\n    ...\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u81ea\u5b9a\u4e49\u9875\u9762<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>@Entry \/*\u8868\u793a\u9875\u9762\u7684\u9ed8\u8ba4\u5165\u53e3,\u4e00\u4e2a\u9875\u9762\u6709\u4e14\u53ea\u6709\u4e00\u4e2a*\/\n@Component\nstruct IndexPage{\n    ...\n    build(){...}\n    ...\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u7ec4\u4ef6\u751f\u547d\u5468\u671f<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u65b9\u6cd5<\/th><th>\u6ce8\u91ca<\/th><\/tr><\/thead><tbody><tr><td>aboutToAppear<\/td><td>\u521b\u5efa\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u4e4b\u540e,build \u4e4b\u524d\u8c03\u7528. \u53ef\u7528\u6765\u521d\u59cb\u5316\u9875\u9762\u7684\u8d4b\u503c<\/td><\/tr><tr><td>aboutToDisappear<\/td><td>\u9500\u6bc1\u5468\u671f,\u6ce8\u91ca\u53d8\u91cf\u5982(\u5b9a\u65f6\u5668)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u793a\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Component\nstruct MyComponent{\n    aboutTOAppear(){console.log(\"\u7ec4\u4ef6\u521d\u59cb\u5316\")}\n    aboutTODisppear(){console.log(\"\u7ec4\u4ef6\u9500\u6bc1\")}\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u9875\u9762\u751f\u547d\u5468\u671f<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u65b9\u6cd5<\/th><th>\u6ce8\u91ca<\/th><\/tr><\/thead><tbody><tr><td>onPageShow()<\/td><td>\u9875\u9762\u663e\u793a\u76d1\u542c<\/td><\/tr><tr><td>onPageHide()<\/td><td>\u8fdb\u5165\u540e\u53f0\u76d1\u542c<\/td><\/tr><tr><td>onBackPagess(){return false}<\/td><td>\u9875\u9762\u8fd4\u56de\u76d1\u542c,\u53ef\u8bbe\u7f6e\u8fd4\u56de\u503c; \u8fd4\u56de true \u8868\u793a\u81ea\u5b9a\u4e49\u8fd4\u56de\u903b\u8f91, \u8fd4\u56de flase \u8868\u793a\u7531\u7cfb\u7edf\u8fd4\u56de\u903b\u8f91<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u793a\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Component\nstruct MyComponent{\n    \/*\u7ec4\u4ef6\u7684\u751f\u547d\u5468\u671f\u540c\u6837\u8bd5\u7528*\/\n    aboutTOAppear(){console.log(\"\u7ec4\u4ef6\u521d\u59cb\u5316\")}\n    aboutTODisppear(){console.log(\"\u7ec4\u4ef6\u9500\u6bc1\")}\n\n    \/*\u9875\u9762\u751f\u547d\u5468\u671f*\/\n    onPageShow(){console.log(\"\u9875\u9762\u663e\u793a\")}\n    onPageHide(){console.log(\"\u76d1\u542c\u5230\u8fdb\u5165\u540e\u53f0\")}\n    onBackPagess(){true flase}\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u52a8\u6001\u6e32\u67d3<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u6761\u4ef6\u6e32\u67d3<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>colunm(){\n    if(true){\n        Text(\"\u6e32\u67d3\u5f20\u4e09\")\n    }else{\n        Text(\"\u6e32\u67d3\u674e\u56db\")\n    }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u5faa\u73af\u6e32\u67d3<\/h2>\n\n\n\n<p>ForEach(A,B,C\uff09 \u8be5\u65b9\u6cd5\u63a5\u53d7\u4e09\u4e2a\u53c2\u6570\uff0cA\uff1a\u5fc5\u987b\u662f\u6570\u7ec4\uff0c\u5faa\u73af\u6e32\u67d3\u7684\u6570\u636e\u6e90\uff1bB\uff1a\u5b50\u7ec4\u4ef6\u751f\u6210\u7684\u6a21\u7248\uff1b C\uff1a\u952e\u503c\u5bf9\u751f\u6210\u5668\uff08\u548cv-for\u4e2d\u7684key\u5c5e\u6027\u601d\u60f3\u4e00\u81f4\uff09<\/p>\n\n\n\n<p>\u793a\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ForEach(&#91;1,2,3],(item,index)=&gt;{\n    Text(item)\n},(item,index)=&gt;index)<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u72b6\u6001\u7ba1\u7406<\/h2>\n\n\n\n<p>@State \u72b6\u6001\u7ba1\u7406,\u7ec4\u4ef6\u5185\u7684\u72b6\u6001\u7ba1\u7406,\u5f53\u72b6\u6001\u53d1\u751f\u6539\u53d8\u4f1a\u81ea\u52a8\u66f4\u65b0\u89c6\u56fe<\/p>\n\n\n\n<p>@Prop \u7236\u7ec4\u4ef6\u5355\u5411\u540c\u6b65\u5230\u5b50\u7ec4\u4ef6<\/p>\n\n\n\n<p>@Link \u7236\u5b50\u7ec4\u4ef6\u53ef\u53cc\u5411\u66f4\u65b0,\u5b50\u7ec4\u4ef6\u4e5f\u53ef\u4ee5\u76f4\u63a5\u66f4\u65b0\u7236\u7ec4\u4ef6\u7684\u72b6\u6001<\/p>\n\n\n\n<p>@watch \u76d1\u542c\u67d0\u4e2a\u72b6\u6001\u7684\u53d8\u5316, \u548c vue \u4e2d\u7684 watch \u51fd\u6570\u4e00\u81f4<\/p>\n\n\n\n<p>@Consume \u53ef\u4ee5\u8de8\u7ea7\u76d1\u542c\u8fd9\u4e2a\u67d0\u4e2a\u72b6\u6001\uff0c\u524d\u63d0\u65f6\u53d8\u91cf\u547d\u540d\u5fc5\u987b\u548c @Provide \u4e00\u81f4<\/p>\n\n\n\n<p>@Provide \u53ef\u58f0\u660e\u67d0\u4e2a\u72b6\u6001\u53ef\u4ee5\u88ab\u4efb\u610f\u7ec4\u4ef6\u76d1\u542c<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7236\u4f20\u5b50<\/h3>\n\n\n\n<p>\u901a\u8fc7 @State \u548c @Link \u4e24\u4e2a\u88c5\u9970\u5668\u8054\u5408\u4f7f\u7528\uff0c\u53ef\u4ee5\u5efa\u7acb\u7236\u5b50\u7ec4\u4ef6\u7684\u53cc\u5411\u6570\u636e\u7ed1\u5b9a\uff1b\u548c\u524d\u7aef\u6846\u67b6\u4e0d\u540c\u7684\u662f\uff0c\u5b50\u7ec4\u4ef6\u4e5f\u53ef\u4ee5\u76f4\u63a5\u6539\u53d8 @Link \u7684\u72b6\u6001\u540c\u6b65\u5230\u7236\u7ec4\u4ef6\u7684 @State \u4e2d<\/p>\n\n\n\n<p>\u7236\u7ec4\u4ef6\u793a\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { MyComponent } from \"..\/Component\/MyComponent\";\n@Entry\n@Component\nstruct Index{\n    @State name:string = \"\u5f20\u4e09\";\n    @State age:number = 18;\n    @Provide provideIndex:number = 0;\n    build(){\n        Row(){\n            Column(){\n                MyComponent({\n                    name:$name,\n                    age:this.age,\n                    doc:\"\u4e00\u6bb5\u63cf\u8ff0\",\n                })\n            }\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u81ea\u7ec4\u4ef6\u793a\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@Component\nexport struct  MyComponent{\n  @Link @Watch(\"onNameChange\") name:string \/*\u5efa\u7acb\u7236\u5b50\u7ec4\u4ef6\u7684\u53cc\u5411\u6570\u636e\u7ed1\u5b9a*\/\n  @Props age:number\n  @Consume provideIndex:number;\n  prviate doc:string \/*\u7528\u4e8e\u7236\u7ec4\u4ef6\u4f20\u7ed9\u5b50\u7ec4\u4ef6\u7684\u503c,\u4e0d\u662f\u53cc\u5411\u6570\u636e\u7ed1\u5b9a,\u7c7b\u4f3c\u4e8e vue \u7684 props \u65b9\u5f0f*\/\n\n  onNameChange(){\n      console.log(`\u4ed6\u8fd9\u4e2a\u540d\u5b57\u53d1\u751f\u53d8\u5316\u4e86${this.name}`)\n  }\n\n  build(){\n    Text(this.name).fontSize(40)\n  }\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u5e94\u7528\u7a0b\u5e8f\u5165\u53e3 UIAbility<\/h2>\n\n\n\n<p>\u7c7b\u4f3c\u4e8e\u5c0f\u7a0b\u5e8f\u7684\u5206\u5305\u64cd\u4f5c\uff0c\u6bcf\u4e2a <code>UiAbility<\/code> \u53ef\u4ee5\u770b\u6210\u4e00\u4e2a\u5355\u72ec\u7684\u5e94\u7528\uff0c\u53ef\u4ee5\u4e0e\u540c\u4e00\u4e2a\u4e3b\u5e94\u7528\u901a\u4fe1, (\u53ef\u4ee5\u5b9e\u73b0vuex\u7684\u4f5c\u7528)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u6587\u4ef6\u5c42\u7ea7<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>entyability\n    ----pages   \n        ---- a\u9875\u9762\n        ---- b\u9875\u9762<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u8def\u7531\u8df3\u8f6c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>import router from \"@ohos.router\"\n\n\/*\u8df3\u8f6c\u5e76\u4f20\u53c2*\/\nrouter.pushUrl({\n    url:\"page\/xxx\",\n    params:{key:value}\n})\n\n\/*\u63a5\u53d7\u53c2\u6570*\/\n@State src:string = router.getParams()?.&#91;\"key\"]\n\n\/*\u8fd4\u56de\u8def\u7531*\/\nrouter.back()<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">UIAbility \u751f\u547d\u5468\u671f<\/h3>\n\n\n\n<p>\u751f\u547d\u5468\u671f\u6587\u4ef6\u5728 <code>xxxability\/Xxxability.ts<\/code> \u7684\u4f4d\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>onCreate() \/*UIbility\u521b\u5efa\u5b8c\u6210\u65f6\u89e6\u53d1\uff0c\u53ef\u4ee5\u7528\u4e8e\u5b9a\u4e49\u53d8\u91cf\u7b49\u540e\u7eed\u7684\u5c55\u793a*\/\n    |\n    |\nwindowStageCreate() \/*\u8bbe\u7f6eUI\u9875\u9762\u52a0\u8f7d windowState \u4e8b\u4ef6\u8ba2\u9605\uff08\u5931\u7126\u3001\u83b7\u7126\u3001\u53ef\u89c1\u3001\u4e0d\u53ef\u89c1\uff09*\/\n    |\n    |\nForeground() \/*UIAbility\u5904\u4e8e\u524d\u53f0\u89e6\u53d1*\/\nBackground() \/*UIAbility\u5904\u4e8e\u540e\u53f0\u89e6\u53d1*\/\n    |\n    |\nwindowStageDestroy() \/*UIAbility\u9500\u6bc1\u4e4b\u524d\u8fdb\u5165\u56de\u8c03*\/\n    |\n    |\nDestroy() \/*UIABility\u9500\u6bc1\u65f6\u89e6\u53d1*\/<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">UIAbility\u7ec4\u4ef6\u4e0eUI\u7684\u6570\u636e\u540c\u6b65<\/h3>\n\n\n\n<p>\u6574\u4f53\u4f7f\u7528\u4e86 emitBus \u601d\u60f3<\/p>\n\n\n\n<p>\u5728 <code>Ability<\/code> \u6587\u4ef6\u4e2d<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export default class EntryAbility extends UIAbility {\n    func1(...data){\/*\u8981\u5904\u7406\u7684\u4e1a\u52a1\u903b\u8f91*\/}\n\n    onCreate(want,launch){\n        \/*\u83b7\u53d6eventHub*\/\n        let eventhub = this.context.eventHub;\n        \/*\u6267\u884c\u8ba2\u9605\u64cd\u4f5c*\/\n        eventhub.on('event1', this.func1);\n    }\n\n}<\/code><\/pre>\n\n\n\n<p>\u5728UI\u5c42\u4f7f\u7528<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import common from '@ohos.app.ability.common';\n\n@Entry\n@Component\nstruct Index{\n     private context = getContext(this) as common.UIAbilityContext;\n\n    build(){\n        Column(){\n            Row(){\n                Button(\"\u6d4b\u8bd5emitBus\").onclick(()=&gt;{\n                    this.context.eventHub.emit('event1');\n                })\n            }\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f7f\u7528 globalThis \u6570\u636e\u540c\u6b65<\/h3>\n\n\n\n<p>globalThis\u662fArkTS\u5f15\u64ce\u5b9e\u4f8b\u5185\u90e8\u7684\u4e00\u4e2a\u5168\u5c40\u5bf9\u8c61\uff0c\u5f15\u64ce\u5185\u90e8\u7684UIAbility\/ExtensionAbility\/Page\u90fd\u53ef\u4ee5\u4f7f\u7528<\/p>\n\n\n\n<p>\u5728 <code>Ability<\/code> \u8fdb\u884c\u8bbe\u7f6e\u5168\u5c40\u5c5e\u6027<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export default class EntryAbility extends UIAbility {\n    onCreate(want, launch) {\n        globalThis.entryAbilityWant = want;\n        \/\/ ...\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u5728UI\u5c42\u6216\u903b\u8f91\u5c42\u4f7f\u7528<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>struct Index{\n    entryAbilityStore = globalThis.entryAbilityWant;\n    \/\/ ...\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP\u8bf7\u6c42<\/h2>\n\n\n\n<p>\u9700\u8981\u83b7\u53d6\u6743\u9650 <code>module.json5<\/code> \u6587\u4ef6\u4e2d\u914d\u7f6e<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"requestPermissions\": &#91;\n      {\n        \"name\": \"ohos.permission.INTERNET\"\n      }\n]<\/code><\/pre>\n\n\n\n<p>\u6309\u7167\u5b98\u7f51\u7684\u63cf\u8ff0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import http from \"@ohos.net.http\"\nlet httpRequest = http.createHttp()\n\/*\u8ba2\u9605\u8bf7\u6c42\u5934*\/\nhttpRequest.on(\"headersReceive\",(header)=&gt;{})\n\n\/*\u53d1\u8d77\u8bf7\u6c42*\/\nlet response = httpRequest.request(url,{\n    method:http.RequestMethod.GET, \/*\u8bf7\u6c42\u65b9\u5f0f*\/\n    extraData:{},\/*post\u65b9\u5f0f\u7684\u8bf7\u6c42\u4f53*\/\n    connectTimeout:number,\/*\u8fde\u63a5\u8d85\u65f6\u65f6\u95f4*\/\n    readTimeout:number,\/*\u8bfb\u53d6\u8d85\u65f6\u65f6\u95f4*\/\n    header:{}\/*\u8bf7\u6c42\u5934*\/\n})\n\n\/*\u5904\u7406\u54cd\u5e94*\/\nresponse.then((value)=&gt;{\n    value.reponseCode \/*\u72b6\u6001\u7801*\/\n    value.result \/*\u6570\u636e*\/\n    value.header \/*\u8bf7\u6c42\u5934\u4fe1\u606f*\/\n    value.cookies \/*cookies\u4fe1\u606f*\/\n})<\/code><\/pre>\n\n\n\n<p>\u793a\u4f8b\uff1a\u5c01\u88c5\u4e00\u4e2a <code>http<\/code> \u7c7b\uff0c\u7528\u4e8e\u8bf7\u6c42<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import http from \"@ohos.net.http\"\n\nexport function Axios(url:string):Promise&lt;any&gt;{\n  let httpRequest = http.createHttp();\n\n  let responsePromise = httpRequest.request(\n    url,\n    {\n      method:http.RequestMethod.GET\n    }\n  )\n\n  return responsePromise.then((value)=&gt;{\n    return value\n  })\n\n}<\/code><\/pre>\n\n\n\n<p>\u5b9e\u73b0\u7c7b\u4e2d\u4f7f\u7528<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Button(\"Axios\").onClick((event: ClickEvent) =&gt; {\n    Axios(\"http:\/\/114.115.218.92:3004\/getTagList\").then((data)=&gt;{\n        console.log(`${data.result}`) \/*\u9e3f\u8499\u7f16\u8f91\u5668\u53ea\u80fd\u6253\u5370\u5b57\u7b26\u4e32\uff0c\u800c\u4e14\u6ca1\u6709network\u7f51\u7edc\u76d1\u542c*\/\n    })\n})<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u7528\u6237\u9996\u9009\u9879\u6570\u636e\u5b58\u50a8<\/h2>\n\n\n\n<p>\u5728 <code>Ability<\/code> \u6587\u4ef6\u4e0b\u521d\u59cb\u5316 <code>Preferences<\/code> \u5b9e\u4f8b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import dataPreferences from '@ohos.data.preferences';\nonCreate(want, launchParam){\n    try{\n      dataPreferences.getPreferences(this.context,\"myStore\",(err,preferences)=>{\n        if(err){console.error(\"\u62a5\u9519\u4e86\");return}\n        console.info(\"-----------------------------------------------------\")\n        console.info(\"Preferences \u52a0\u8f7d\u6210\u529f\")\n        \/*\u4f7f\u7528 globalThis \u65b9\u5f0f\u53ef\u4ee5\u8ba9\u5168\u5c40\u5e94\u7528\u516c\u7528\u8be5\u5c5e\u6027*\/\n        globalThis.entryAbilityPreferences = preferences;\n      })\n    }catch (error){\n      console.error(\"\u62a5\u9519\u4e86\")\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u5c01\u88c5\u4e00\u4e0b Preferences \u8ba9\u4ed6\u5177\u5907 localStorage \u7684\u4f7f\u7528\u4f53\u9a8c\uff1b\u521b\u5efa <code>utils\\storage.ets<\/code> \u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export default  class Storage{\n  entryAbilityPreferences;\n  constructor() {\n    this.entryAbilityPreferences = globalThis.entryAbilityPreferences;\n  }\n  \/*\u8bbe\u7f6e*\/\n  setItem(key:string,value:string|number|boolean){\n    this.entryAbilityPreferences.has(key,(err, val)=&gt;{\n      if(err){console.error(\"set\u8c03\u7528\u5931\u8d25\");return}\n      if(val){console.error(\"key\u540d\u5df2\u5b58\u5728\")}else{\n        try{\n          this.entryAbilityPreferences.put(key,value)\n          this.entryAbilityPreferences.flush()\n        }catch (err){\n          console.error(\"put\u65b9\u6cd5\u62a5\u9519\u4e86\")\n        }\n      }\n    })\n  }\n  \/*\u67e5\u627e*\/\n  getItem(key:string,defaultVal:string|number|boolean):Promise&lt;string|number|boolean&gt;{\n    return new Promise((resolve,reject)=&gt;{\n      this.entryAbilityPreferences.get(key,defaultVal,(err,val)=&gt;{\n        if(err){reject(\"\u62a5\u9519\u4e86\")}\n        resolve(val as string|number|boolean);\n      })\n    })\n  }\n  \/*\u5220\u9664*\/\n  delItem(key:string){\n    this.entryAbilityPreferences.delete(key)\n  }\n}<\/code><\/pre>\n\n\n\n<p>\u4f7f\u7528<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import Storage from \"..\/utils\/storage\"\n@Entry\n@Component\nexport struct Optimize {\n\n  storage = new Storage();\n\n  build() {\n    Column(){\n      Row(){\n        Button(\"\u5199\u5165\u6d4b\u8bd5\").onClick((event: ClickEvent) => {\n          this.storage.setItem(\"name\",\"\u5f20\u4e09\")\n        })\n      }\n      .width(\"100%\")\n      .padding(20)\n\n      Row(){\n        Button(\"\u8bfb\u53d6\u6d4b\u8bd5\").onClick(async (event: ClickEvent) => {\n          let reslut = await this.storage.getItem(\"name\",\"\u5f20\u4e09\");\n          console.log(\"------------------------------\")\n          console.log(`${reslut}`)\n        })\n      }\n      .width(\"100%\")\n      .padding(20)\n\n      Row(){\n        Button(\"\u5220\u9664\u6d4b\u8bd5\").onClick((event: ClickEvent) => {\n          this.storage.delItem(\"name\");\n        })\n      }\n      .width(\"100%\")\n      .padding(20)\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n","protected":false},"excerpt":{"rendered":"<p>\u81ea\u5b9a\u4e49\u7ec4\u4ef6 \u793a\u4f8b \u81ea\u5b9a\u4e49\u9875\u9762 \u7ec4\u4ef6\u751f\u547d\u5468\u671f \u65b9\u6cd5 \u6ce8\u91ca aboutToAppear \u521b\u5efa\u81ea\u5b9a\u4e49\u7ec4\u4ef6\u4e4b\u540e,bui [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70],"tags":[],"class_list":["post-847","post","type-post","status-publish","format-standard","hentry","category-harmonyos4-0"],"_links":{"self":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=847"}],"version-history":[{"count":3,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/847\/revisions"}],"predecessor-version":[{"id":892,"href":"https:\/\/gjweb.top\/index.php?rest_route=\/wp\/v2\/posts\/847\/revisions\/892"}],"wp:attachment":[{"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gjweb.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}