2025 臺灣資安大會 限定好禮
IT EXPLAINED 數位轉型攻略 VII
號召DevOps專家立即投稿
技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2023 iThome 鐵人賽
DAY
4
0
Odoo
Odoo 14 Javascript 開發心路歷程
系列 第
4
篇
Day 4 生命週期介紹
15th鐵人賽
大河
2023-09-04 08:04:22
833 瀏覽
分享至
Document:
https://www.odoo.com/documentation/14.0/developer/reference/javascript/javascript_reference.html#widget-lifecycle
在官方文件上,主要列出五個階段
Init: 初始化
willStart: 即將渲染
[Rendering]: 渲染中
Start: 渲染完成
Destroy: 摧毀
以上四個階段皆只在生命週期執行一次而已,但實務上可能會有回到畫面就需要更新一次的需求,從原始碼中也可以看到額外的階段如下,以下會稍微簡單介紹一下筆者對於各階段的認知
Init: 初始化
顧名思義,就是在 widget 實例化時會觸發的,整個生命週期只會觸發一次,帶入的參數為 parent, options
Parent: 是父組件,通常不會傳其他的,如果有其他的,需要看一下是否有註解解釋為何拋非組件的物件
Options: 就是個 object,在此階段可以針對 options 來進行過濾並取出所需的資訊
willStart: 即將渲染
這裡筆者是理解成渲染前,組件內部成員 $el 還是 undefined,在這個階段會把組件有定義的 cssLibs, jsLibs, xmlDependcies 會一併請求,因此需要回傳 Promise 物件
[Rendering]: 渲染中
此階段在文件中寫是在框架中自動完成,這裡會依照 widget 的設定來決定 el, $el 結果
Start: 渲染完成
組件成員 el, $el 已經有資料,而 $ 開頭的成員,通常代表是 jquery 的選擇器,所以可以用 jquery 的語法來鏈結操作,而 el 則是直接指向 dom 物件
通常此階段會是針對渲染好的物件進行額外的行內樣式、class 增減...等操作
此階段也必須回傳 Promise 物件
On_attach_callback: 回到畫面
!此階段會多次觸發,不論是第一次進入畫面,或是經由麵包屑回到畫面都會觸發
On_detach_callback: 離開畫面
!此階段會多次觸發,只要離開畫面或是點關聯欄位跳到下一個 view 就會觸發
Destroy: 摧毀
此階段只會觸發一次
留言
追蹤
檢舉
上一篇
Day 3 開發前的基本所需知識簡介
下一篇
Day 5 實作 1: Say Hi to field widget!
系列文
Odoo 14 Javascript 開發心路歷程
共
30
篇
目錄
RSS系列文
訂閱系列文
7
人訂閱
26
Day 26 實作 12: 建立 action client view - 增加按鈕能快速跳轉到報價單
27
Day 27 custom_events 介紹
28
Day 28 widget 的 lazy load 介紹
29
Day 29 知識推薦 - throttle, debounce 的應用
30
Day 30 結尾
完整目錄
直播研討會
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22211
篇
完賽人數
600
人
看影片追技術
看更多
威脅退散!翻轉企業資安主控權
2023 數位政府高峰會
|
32 分
Artifactory 核心功能演示講解
IT EXPLAINED
|
49 分
融合 AI 技術,加速應用開發、交付與優化
Kubernetes Summit
|
27 分
勒索軟體無差別攻擊邪惡無極限,企業防禦戰略該如何因應?
CYBERSEC NOW
|
28 分
從觀察到實踐:打造符合公司需求的GitLab DevOps流水線
Hello World Dev Conference
|
38 分
Elastic安全性概述:安全始於端點
IT EXPLAINED
|
44 分
Data Architecture and Analysis about OpenTelemetry Observability
SRE CONFERENCE
|
37 分
草根創新:自下而上推動大企業雲端轉型的實戰策略
Hello World Dev Conference
|
34 分
以軟體定義防護基礎,落實零信任安全設計
零信任資安講堂
|
40 分
Kafka+Debezium CDC - 實時資料分析的前哨戰
歐立威科技
|
47 分
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
pulse secure 被併,有其他選擇嗎?
同網段下無法連線到印表機
台灣和美國二地,經過Firewall VPN通道,實際跑的速度 (2/17已解決)
ollama沒有使用GPU一問
win11電腦無法加入公司網域
內部Windows DNS Server設定請教
請問如何 移除 KB5051989 更新?造成一些bug
請問以下網路情況如何追查或關閉異常設備?
尋求穩定Mesh建議
安裝問題請問
【好禮等你拿】親臨現場,CYBERSEC 2025精美好禮帶回家!!
Windows 10支援倒數,聯繫微軟夥伴諮詢
DevOps專家看過來!投稿開放至2/27,立即行動分享技術實力!
【免費線上報名】亞洲最大資安展:2025 臺灣資安大會
GenAI 加速企業創新落地,更需要全新 IT 戰略
CYBERSEC YouTube 正式上線,回顧精選議程,探究資安議題!
熱門回答
尋求穩定Mesh建議
安裝問題請問
可靠安全的挖礦
Redmine 如何簡單安裝在Win7作業系統上
同網段下無法連線到印表機
熱門文章
類比工程師在幹嘛
淺談WIFI的運作原理 - 每天都在用的你又知道它多少?
有什麼端點防護方法?可以避免不斷更新的惡意入侵
PTT爬蟲 - 表特版
k6 也能寫瀏覽器測試 !
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}