首頁
Index
討論
BBS
博文
Blog
校園開課
搜索
Language
登錄
METIS開發者社區
»
討論
›
社區問答中心
›
高代碼開發
›
使用microsite啟動,高代碼的測試頁面,Angular模板頁中 ...
返回列表
發布新帖
使用microsite啟動,高代碼的測試頁面,Angular模板頁中,函數會不斷的被觸發
226
4
徐俊賢
Lv.1
發表於 2025-4-9 10:25
|
查看全部
閱讀模式
問答
緊急程度
中
已完結
本帖最後由 徐俊賢 於 2025-4-9 10:24 編輯
前端高代碼開發
使用microsite啟動,高代碼頁面的測試頁面,
Angular模板頁中,不定時會觸發function
或者只要鼠標進入頁面,函數會不斷的被觸發
一般的模式的啟動則不會
angular 模板html中
{{debug()}}
.ts function定義
debug
()
{
console
.
log
(
`debug`
);
}
附件為影片操作說明
附件:
您需要
登錄
才可以下載或查看,沒有賬號?
立即注册
最佳答案
鄭舜尹
查看完整內容
問題中的寫法是模板函數。 這是angular自帶的機制,當你有滑鼠移入畫面或畫面有其他變動的時候,就會調動那個方法,會監測你綁定的方法裡面是否有變動,這是屬於angular自帶的機制,和微服務啟動沒有關係,正常都會調用,不屬於平台的相關問題,可以去angular官網看下語法中的變更檢測。 至於是本地啟動還是微服務啟動都是angular的機制,不是平台影響的,所以這問題我們理解是屬於angular語法相關的,這個需要請你去官網了解下 ...
前端定制
回復
舉報
相關帖子
•
做一个定制新手弱弱在请教,前端定制一个网页,怎样部署到云端,可以像网站一样访问?
•
要如何在前端訂製一個雲端應用的網頁
•
package專案跟web專案的前端訂製有什麼差別?
•
前端訂製部署,影片中給的內容沒有權限
•
前端低代碼的表格新增客製按鈕,在運行態沒有顯示
•
[定制報表] 如何找到代碼?
•
基礎組件?動態組件
•
定制畫面 有設定兩個頁面顯示不同表格,但只有第一個頁面有表格設定功能
•
應用客制的動態元件渲染報錯
•
前端定製開發,低代碼定製配置如何配置?
電梯直達
評論
4
鄭舜尹
Lv.9
發表於 2025-4-9 11:15
|
查看全部
可能引發的原因:Angular預設的「髒檢查」策略會監聽所有非同步事件(如滑鼠移動、定時器等),觸發組件樹的全量偵測。
若函數綁定在模板事件(如(mouseenter))或表達式(如{{ func() }}),每次檢測都會執行函數。
直接在模板中呼叫函數(例如(mousemove)="handleMove()")會導致事件觸發時重複執行,未進行防手震/節流控制
建議
1、啟用OnPush策略:在組件裝飾器中設定changeDetection: ChangeDetectionStrategy.OnPush,僅當輸入屬性變化時觸發偵測
2、將模板中的(mouseenter)="debug()"改為(mouseenter)="debug$event)",避免每次偵測都執行函式
3、添加防手震節流
fromEvent(element, 'mousemove').pipe(debounceTime(300)).subscribe(() => {...});
回復
舉報
徐俊賢
樓主
Lv.1
發表於 2025-4-10 11:15
|
查看全部
該函數並沒有註冊為mouse事件的handler
只有在microsite啟動模式情況,會有這現象
變成會不定時執行該函數
或者mouseover時會一直執行
主要想了解microsite與一般模式,什麼落差造成這個情況
回復
舉報
鄭舜尹
Lv.9
發表於 2025-4-10 16:23
|
查看全部
問題中的寫法是模板函數。
這是angular自帶的機制,當你有滑鼠移入畫面或畫面有其他變動的時候,就會調動那個方法,會監測你綁定的方法裡面是否有變動,這是屬於angular自帶的機制,和微服務啟動沒有關係,正常都會調用,不屬於平台的相關問題,可以去angular官網看下語法中的變更檢測。
至於是本地啟動還是微服務啟動都是angular的機制,不是平台影響的,所以這問題我們理解是屬於angular語法相關的,這個需要請你去官網了解下。
相關資料地址:
https://www.angular.cn/guide/templates/binding
本帖子中包含更多資源
您需要
登錄
才可以下載或查看,沒有賬號?
立即注册
×
回復
舉報
鄭舜尹
Lv.9
發表於 2025-4-10 16:35
|
查看全部
本地 ng serve啟動也會觸發,整個頁面只要有變更都會觸發,可能你點了頁面其他欄位,或者哪裡有數據變動就會觸發,這和microsite沒有關係,(我剛剛本地試過了,頁面有變動就會觸發,或者等待一段時間angular自帶的變更檢測也會觸發)
microsite啟動的底層也是和本地ng serve 一樣,只是microsite啟動的時候會加載平台的各個組件,這些組件是抓取遠端平台的數據,這個時候如果某個平台自己有變動,就會觸發變更檢測
mirosite啟動的時候,載入了平台的元件,平台元件裡面沒有使用OnPush策略,所以你畫面沒有變化,只是滑鼠移動到那塊區域,就會觸發變更事件
而你本地啟動的時候,本地應用程式碼裡面使用了OnPush策略,所以你本地滑鼠移動到那塊區域的時候,沒有觸發方法,沒有發現變動
總結:模板方法建議只是用於一些簡單的計算或獲取值,不要使用高頻的損耗性能的業務邏輯,或者調用服務等邏輯在裡面
回復
舉報
返回列表
發布新帖
回復
高級模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登錄後才可以回帖
登錄
|
立即注册
本版積分規則
發表回復
回帖後跳轉到最後壹頁
徐俊賢
Lv.1
新手冒險者
積分
177
主題
4
博文
0
Ta的主頁
發消息
您好!若您的問題已解決,請點選「設為最佳答案」以幫助其他使用者。感謝您的參與!
大家來答
1
匿名訪問
176 阅读
姜文盛
2
microsite命令啟動專案後瀏覽器報錯
147 阅读
姜文盛
3
前端工程微服務命令microsite啟動無法看到
158 阅读
姜文盛
熱門討論
客戶的mes是對接異構的ERP。中台需要裝Adap
12 人气
Adapter 適配器裡面的日誌看到是成功的,但
16 人气
升版後發生錯誤:發起端訊息格式不符合XML/
19 人气
最新發布
姜文盛
客戶的mes是對接異構的ERP。中台需要裝Adap
姜文盛
Adapter 適配器裡面的日誌看到是成功的,但
姜文盛
升版後發生錯誤:發起端訊息格式不符合XML/
姜文盛
升版後發生錯誤:找不到指定的服務主機
姜文盛
升版後,整合設定看不到sQMS 設定
精選文章
瀏覽過的版塊
數據驅動1.0
數據驅動2.0
不分類提問區
敏捷數據
METIS平台使用操作
智客中心
加入我們
課程中心
認證中心
關於鼎新
公司簡介
企業榮譽
鼎新社群
友情連結
鼎新數智
就享知
鼎新雲市場
鼎新服務雲
加入Line諮詢
Copyright © 2026
鼎新數智股份有限公司
版權所有
All Rights Reserved. Powered by
Discuz!
X5.0
關燈
在本版發帖
即将开放
返回頂部
快速回復
返回頂部
返回列表