• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 应用级变量的状态管理(系统接口)
2<!--Kit: ArkUI-->
3<!--Subsystem: ArkUI-->
4<!--Owner: @zzq212050299-->
5<!--Designer: @s10021109-->
6<!--Tester: @TerryTsao-->
7<!--Adviser: @HelloCrease-->
8
9
10状态管理模块提供了应用程序的数据存储能力、持久化数据管理能力、UIAbility数据存储能力和应用程序需要的环境状态。
11
12
13>**说明:**
14>
15>本模块首批接口从API version 7开始支持,后续版本的新增接口,采用上角标单独标记接口的起始版本。
16>
17>当前页面仅包含本模块的系统接口,其他公开接口参见[应用级变量的状态管理](./ts-state-management.md)。
18
19## SubscribedAbstractProperty\<T\>
20
21**卡片能力:** 从API version 9开始,支持在ArkTS卡片中使用。
22
23**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
24
25**系统能力:** SystemCapability.ArkUI.ArkUI.Full
26
27### subscribers\_
28
29protected subscribers_: Set\<number\>;
30
31订阅者集合。
32
33**系统能力:** SystemCapability.ArkUI.ArkUI.Full
34
35**返回值:**
36
37|类型   |说明       |
38|-----------|--------------|
39|Set\<number\>  |返回Set集合。 |
40
41### id\_
42
43private id_;
44
45私有成员变量id_。
46
47**系统能力:** SystemCapability.ArkUI.ArkUI.Full
48
49### info\_
50
51private info\_\?;
52
53变量信息。
54
55**系统能力:** SystemCapability.ArkUI.ArkUI.Full
56
57### constructor
58
59constructor(subscribeMe?: IPropertySubscriber,info?: string,);
60
61构造函数。
62
63**系统能力:** SystemCapability.ArkUI.ArkUI.Full
64
65**参数:**
66
67|参数名   |类型   |必填   |说明             |
68|---------|-----------|------------|--------------|
69|subscribeMe   |[IPropertySubscriber](#ipropertysubscriber)   |否   |变量属性。    |
70|info   |string   |否   |变量信息。   |
71
72### id
73
74id(): number;
75
76获取id时调用。
77
78**系统能力:** SystemCapability.ArkUI.ArkUI.Full
79
80**返回值:**
81
82|类型   |说明       |
83|-----------|--------------|
84|number  |返回id。 |
85
86### createTwoWaySync
87
88createTwoWaySync(subscribeMe?: IPropertySubscriber, info?: string): SyncedPropertyTwoWay\<T\>;
89
90创建双向同步时调用。
91
92**系统能力:** SystemCapability.ArkUI.ArkUI.Full
93
94**参数:**
95
96|参数名   |类型   |必填   |说明             |
97|---------|-----------|------------|--------------|
98|subscribeMe   |[IPropertySubscriber](#ipropertysubscriber)   |否   |变量属性。    |
99|info   |string   |否   |变量信息。   |
100
101**返回值:**
102
103|类型   |说明       |
104|-----------|--------------|
105|[SyncedPropertyTwoWay\<T\>](#syncedpropertytwowayt)  |返回双向同步属性。 |
106
107### createOneWaySync
108
109createOneWaySync(subscribeMe?: IPropertySubscriber, info?: string): SyncedPropertyOneWay\<T\>;
110
111创建单向同步时调用。
112
113**系统能力:** SystemCapability.ArkUI.ArkUI.Full
114
115**参数:**
116
117|参数名   |类型   |必填   |说明             |
118|---------|-----------|------------|--------------|
119|subscribeMe   |[IPropertySubscriber](#ipropertysubscriber)   |否   |变量属性。    |
120|info   |string   |否   |变量信息。   |
121
122**返回值:**
123
124|类型   |说明       |
125|-----------|--------------|
126|[SyncedPropertyOneWay\<T\>](#syncedpropertytwowayt)  |返回单向同步属性。 |
127
128### unlinkSuscriber
129
130unlinkSuscriber(subscriberId: number): void;
131
132变量解除订阅时调用。
133
134**系统能力:** SystemCapability.ArkUI.ArkUI.Full
135
136**参数:**
137
138|参数名   |类型   |必填   |说明             |
139|---------|-----------|------------|--------------|
140|subscriberId   |number   |是   |变量id。    |
141
142### notifyHasChanged
143
144protected notifyHasChanged(newValue: T): void;
145
146通知变化时调用。
147
148**系统能力:** SystemCapability.ArkUI.ArkUI.Full
149
150**参数:**
151
152|参数名   |类型   |必填   |说明             |
153|---------|-----------|------------|--------------|
154|newValue   |T   |是   |更改后的新值。    |
155
156### notifyPropertyRead
157
158protected notifyPropertyRead(): void;
159
160通知读取时调用。
161
162**系统能力:** SystemCapability.ArkUI.ArkUI.Full
163
164### numberOfSubscrbers
165
166numberOfSubscrbers(): number;
167
168获取订阅者数量时调用。
169
170**系统能力:** SystemCapability.ArkUI.ArkUI.Full
171
172**返回值:**
173
174|类型   |说明       |
175|-----------|--------------|
176|number  |返回订阅者数量。 |
177
178## IPropertySubscriber
179
180**系统能力:** SystemCapability.ArkUI.ArkUI.Full
181
182### id
183
184id(): number;
185
186获取id时调用。
187
188**系统能力:** SystemCapability.ArkUI.ArkUI.Full
189
190**返回值:**
191
192|类型   |说明       |
193|-----------|--------------|
194|number  |返回变量id。 |
195
196### aboutToBeDeleted
197
198aboutToBeDeleted(owningView?: IPropertySubscriber): void;
199
200销毁时调用。
201
202**系统能力:** SystemCapability.ArkUI.ArkUI.Full
203
204**参数:**
205
206|参数名   |类型   |必填   |说明             |
207|---------|-----------|------------|--------------|
208|owningView   |[IPropertySubscriber](#ipropertysubscriber)   |否   |所在自定义组件。    |
209
210## SyncedPropertyTwoWay\<T\>
211
212继承自[SubscribedAbstractProperty\<T\>](#subscribedabstractpropertyt)。用来定义变量状态的值。
213
214**系统能力:** SystemCapability.ArkUI.ArkUI.Full
215
216### source\_
217
218private source_;
219
220双向同步属性的数据源。
221
222**系统能力:** SystemCapability.ArkUI.ArkUI.Full
223
224### constructor
225
226constructor(source: SubscribedAbstractProperty\<T\>, subscribeMe?: IPropertySubscriber, info?: string);
227
228构造函数参数。
229
230**系统能力:** SystemCapability.ArkUI.ArkUI.Full
231
232**参数:**
233
234|参数名   |类型   |必填   |说明             |
235|---------|-----------|------------|--------------|
236|source   |[SubscribedAbstractProperty\<T\>](#subscribedabstractpropertyt)   |是   |双向同步属性的数据源。    |
237|subscribeMe   |[IPropertySubscriber](#ipropertysubscriber)   |否   |订阅者。   |
238|info  |string   |否   |订阅者信息。   |
239
240### aboutToBeDeleted
241
242aboutToBeDeleted(unsubscribeMe?: IPropertySubscriber): void;
243
244销毁时调用。
245
246**系统能力:** SystemCapability.ArkUI.ArkUI.Full
247
248**参数:**
249
250|参数名   |类型   |必填   |说明             |
251|---------|-----------|------------|--------------|
252|unsubscribeMe   |[IPropertySubscriber](#ipropertysubscriber)   |否   |被取消的订阅者。    |
253
254### hasChanged
255
256hasChanged(newValue: T): void;
257
258变化时调用。
259
260**系统能力:** SystemCapability.ArkUI.ArkUI.Full
261
262**参数:**
263
264|参数名   |类型   |必填   |说明   |
265|---------|-----------|------------|--------------|
266|newValue   |T   |是   |T类型实例。     |
267
268### get
269
270get(): T;
271
272获取数据时调用。
273
274**系统能力:** SystemCapability.ArkUI.ArkUI.Full
275
276**返回值:**
277
278|类型   |说明     |
279|------|------------|
280|T   |T类型实例。    |
281
282### set
283
284set(newValue: T): void;
285
286赋值时调用。
287
288**系统能力:** SystemCapability.ArkUI.ArkUI.Full
289
290**参数:**
291
292|参数名   |类型   |必填   |说明             |
293|---------|-----------|------------|--------------|
294|newValue   |T   |是   |T类型实例。    |
295
296## SyncedPropertyOneWay\<T\>
297
298继承自[SubscribedAbstractProperty\<T\>](#subscribedabstractpropertyt)。用来定义父组件的状态值。
299
300**系统能力:** SystemCapability.ArkUI.ArkUI.Full
301
302### wrappedValue\_
303
304private wrappedValue_;
305
306单向绑定时的值。
307
308**系统能力:** SystemCapability.ArkUI.ArkUI.Full
309
310### source\_
311
312private source_;
313
314双向同步属性的数据源。
315
316**系统能力:** SystemCapability.ArkUI.ArkUI.Full
317
318### constructor
319
320constructor(source: SubscribedAbstractProperty\<T\>, subscribeMe?: IPropertySubscriber, info?: string);
321
322构造函数参数。
323
324**系统能力:** SystemCapability.ArkUI.ArkUI.Full
325
326**参数:**
327
328|参数名   |类型   |必填   |说明             |
329|---------|-----------|------------|--------------|
330|source   |[SubscribedAbstractProperty\<T\>](#subscribedabstractpropertyt)   |是   |单向同步属性的数据源。    |
331|subscribeMe   |[IPropertySubscriber](#ipropertysubscriber)   |否   |订阅者。   |
332|info  |string   |否   |订阅者信息。   |
333
334### aboutToBeDeleted
335
336aboutToBeDeleted(unsubscribeMe?: IPropertySubscriber): void;
337
338销毁时调用。
339
340**系统能力:** SystemCapability.ArkUI.ArkUI.Full
341
342**参数:**
343
344|参数名   |类型   |必填   |说明             |
345|---------|-----------|------------|--------------|
346|unsubscribeMe   |[IPropertySubscriber](#ipropertysubscriber)   |否   |被取消的订阅者。    |
347
348### hasChanged
349
350hasChanged(newValue: T): void;
351
352变化时调用。
353
354**系统能力:** SystemCapability.ArkUI.ArkUI.Full
355
356**参数:**
357
358|参数名   |类型   |必填   |说明   |
359|---------|-----------|------------|--------------|
360|newValue   |T   |是   |T类型实例。     |
361
362### get
363
364get(): T;
365
366获取数据源时调用。
367
368**系统能力:** SystemCapability.ArkUI.ArkUI.Full
369
370**返回值:**
371
372|类型   |说明     |
373|------|------------|
374|T   |T类型实例。    |
375
376### set
377
378set(newValue: T): void;
379
380赋值时调用。
381
382**系统能力:** SystemCapability.ArkUI.ArkUI.Full
383
384**参数:**
385
386|参数名   |类型   |必填   |说明             |
387|---------|-----------|------------|--------------|
388|newValue   |T   |是   |T类型实例。    |
389
390## ISinglePropertyChangeSubscriber\<T\>
391
392继承自[IPropertySubscriber](#ipropertysubscriber)。用来定义变量。
393
394**系统能力:** SystemCapability.ArkUI.ArkUI.Full
395
396### hasChanged
397
398hasChanged(newValue: T): void;
399
400变化时调用。
401
402**系统能力:** SystemCapability.ArkUI.ArkUI.Full
403
404**参数:**
405
406|参数名   |类型   |必填   |说明             |
407|---------|-----------|------------|--------------|
408|newValue   |T   |是   |T类型实例。    |
409
410## SubscribaleAbstract
411
412**系统能力:** SystemCapability.ArkUI.ArkUI.Full
413
414### owningProperties\_
415
416private owningProperties_: Set\<number\>;
417
418返回所持有的属性。
419
420**系统能力:** SystemCapability.ArkUI.ArkUI.Full
421
422**返回值:**
423
424|类型   |说明     |
425|------|------------|
426|Set\<number\>   |返回Set集合。    |
427
428### constructor
429
430constructor();
431
432构造函数。
433
434**系统能力:** SystemCapability.ArkUI.ArkUI.Full
435
436### notifyPropertyHasChanged
437
438protected notifyPropertyHasChanged(propName: string, newValue: any): void;
439
440当通知属性更改时调用。
441
442**系统能力:** SystemCapability.ArkUI.ArkUI.Full
443
444**参数:**
445
446|参数名   |类型   |必填   |说明             |
447|---------|-----------|------------|--------------|
448|propName   |string   |是   |属性名称。    |
449|newValue   |any   |否   |更改的新值。   |
450
451### addOwningProperty
452
453public addOwningProperty(subscriber: IPropertySubscriber): void;
454
455添加持有的属性。
456
457**系统能力:** SystemCapability.ArkUI.ArkUI.Full
458
459**参数:**
460
461|参数名   |类型   |必填   |说明             |
462|---------|-----------|------------|--------------|
463|subscriber   |[IPropertySubscriber](#ipropertysubscriber)   |是   |订阅者。    |
464
465### removeOwningProperty
466
467public removeOwningProperty(property: IPropertySubscriber): void;
468
469删除已拥有的属性时调用。
470
471**系统能力:** SystemCapability.ArkUI.ArkUI.Full
472
473**参数:**
474
475|参数名   |类型   |必填   |说明             |
476|---------|-----------|------------|--------------|
477|property   |[IPropertySubscriber](#ipropertysubscriber)   |是   |要删除的属性。    |
478
479### removeOwningPropertyById
480
481public removeOwningPropertyById(subscriberId: number): void;
482
483使用id删除已拥有的属性时调用。
484
485**系统能力:** SystemCapability.ArkUI.ArkUI.Full
486
487**参数:**
488
489|参数名   |类型   |必填   |说明             |
490|---------|-----------|------------|--------------|
491|subscriberId   |number   |是   |要删除的属性id。    |
492
493## Environment
494
495**系统能力:** SystemCapability.ArkUI.ArkUI.Full
496
497### constructor
498
499constructor();
500
501构造函数。
502
503**系统能力:** SystemCapability.ArkUI.ArkUI.Full
504
505## PersistentStorage
506
507**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
508
509**系统能力:** SystemCapability.ArkUI.ArkUI.Full
510
511### constructor
512
513constructor(appStorage: AppStorage, storage: Storage);
514
515构造函数参数。
516
517**系统能力:** SystemCapability.ArkUI.ArkUI.Full
518
519**参数:**
520
521|参数名   |类型   |必填   |说明             |
522|---------|-----------|------------|--------------|
523|appStorage   |AppStorage   |是   |应用存储。    |
524|storage   |Storage   |是   |存储。    |
525
526## appStorage
527
528declare const appStorage: AppStorage;
529
530应用存储。
531
532**系统能力:** SystemCapability.ArkUI.ArkUI.Full
533
534|类型    |说明          |
535|----------|------------|
536|AppStorage   |应用存储。  |