5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-05 18:02:13 +08:00
wails/mkdocs-website/docs/cy/development/changes_events.md
2024-03-18 21:52:39 +11:00

39 lines
2.9 KiB
Markdown

## Digwyddiadau
Yn v3, mae 3 math o ddigwyddiadau:
- Digwyddiadau Cymhwysiad
- Digwyddiadau Ffenestr
- Digwyddiadau Cyfaddas
### Digwyddiadau Cymhwysiad
Mae digwyddiadau cymhwysiad yn ddigwyddiadau a allbynir gan y cymhwysiad. Mae'r digwyddiadau hyn yn cynnwys digwyddiadau brodorol fel `ApplicationDidFinishLaunching` ar macOS.
### Digwyddiadau Ffenestr
Mae digwyddiadau ffenestr yn ddigwyddiadau a allbynir gan ffenestr. Mae'r digwyddiadau hyn yn cynnwys digwyddiadau brodorol fel `WindowDidBecomeMain` ar macOS. Diffinnir digwyddiadau cyffredin hefyd, fel y maent yn gweithio ar draws platfformau, e.e. `WindowClosing`.
### Digwyddiadau Cyfaddas
Mae'r digwyddiadau y mae'r defnyddiwr yn eu diffinio yn cael eu galw `WailsEvents`. Mae hyn er mwyn eu gwahaniaethu o'r gwrthrych `Event` a ddefnyddir i gyfathrebu gyda'r porwr. Mae WailsEvents bellach yn wrthrychau sy'n erynu holl fanylion digwyddiad. Mae hyn yn cynnwys enw'r digwyddiad, y data, a ffynhonnell y digwyddiad.
Mae'r data sy'n gysylltiedig â WailsEvent bellach yn un gwerth. Os oes angen mwy nag un gwerth, gellir defnyddio strwythur.
### Galwadau digwyddiad a llofnod swyddogaeth `Emit`
Mae llofnodion y galwadau digwyddiad (fel y defnyddir gan `On`, `Once` & `OnMultiple`) wedi newid. Yn v2, naeth y swyddogaeth alwad dderbyn data dewisol. Yn v3, mae'r swyddogaeth alwad yn derbyn gwrthrych `WailsEvent` sy'n cynnwys yr holl ddata sy'n berthnasol i'r digwyddiad.
Yn yr un modd, mae'r swyddogaeth `Emit` wedi newid. Yn lle cymryd enw a data dewisol, mae'n cymryd un gwrthrych `WailsEvent` y bydd yn ei allbynnu.
### `Off` a `OffAll`
Yn v2, byddai galwadau `Off` a `OffAll` yn tynnu digwyddiadau i ffwrdd yn JS ac yn Go. Oherwydd natur aml-ffenestr v3, mae hyn wedi newid fel bod y dulliau hyn ond yn berthnasol i'r cyd-destun y'u galwyd. Er enghraifft, os ydych yn galw `Off` mewn ffenestr, dim ond digwyddiadau ar gyfer y ffenestr honno y bydd yn eu tynnu. Os ydych yn defnyddio `Off` yn Go, dim ond digwyddiadau ar gyfer Go y bydd yn eu tynnu.
### Bachau
Mae Bachau Digwyddiad yn nodwedd newydd yn v3. Maent yn caniatáu i chi fachlu i mewn i'r system ddigwyddiadau a chyflawni gweithredoedd pan fydd digwyddiadau penodol yn cael eu hallbynnu. Er enghraifft, gallwch fachlu i mewn i'r digwyddiad `WindowClosing` a chyflawni rhywfaint o lanhau cyn i'r ffenestr gau. Gellir cofrestru bachau ar lefel y cymhwysiad neu ar lefel y ffenestr gan ddefnyddio `RegisterHook`. Bydd bachau lefel cymhwysiad ar gyfer digwyddiadau cymhwysiad. Bydd bachau lefel ffenestr ond yn cael eu galw ar gyfer y ffenestr y'u cofrestrir.
### Nodiadau datblygwr
Pan allbynwch ddigwyddiad yn Go, bydd yn dosbarthu'r digwyddiad i wrrandawyr Go lleol a hefyd i bob ffenestr yn y cymhwysiad. Pan allbynwch ddigwyddiad yn JS, mae'n nawr yn anfon y digwyddiad at y cymhwysiad. Caiff hwn ei brosesu fel petai wedi ei allbynnu yn Go, fodd bynnag bydd ID y anfonwr yn bod hwnnw o'r ffenestr.