Angular input控件的click事件响应处理的调用上下文
生活随笔
收集整理的這篇文章主要介紹了
Angular input控件的click事件响应处理的调用上下文
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
自定義指令的路徑:
C:\Code\SPA\spartacus\projects\storefrontlib\src\cms-structure\page\component\component-wrapper.directive.ts
指令的選擇器:cxComponentWrapper
只有5個文件里用到了,似乎應用不是很廣泛:
html源代碼:
<button (click)="toggle($event)">隱藏/顯示</button>注意這個(click)的語法和Angularjs不一樣:ng-click
點擊之后:
我在Angular Component html里的表達式toggle($event),實際的實現是一個template button listener:
/*** Wraps an event listener with a function that marks ancestors dirty and prevents default behavior,* if applicable.** @param {?} tNode The TNode associated with this listener* @param {?} lView The LView that contains this listener* @param {?} listenerFn The listener function to call* @param {?} wrapWithPreventDefault Whether or not to prevent default behavior* (the procedural renderer does this already, so in those cases, we should skip)* @return {?}*/ function wrapListener(tNode, lView, listenerFn, wrapWithPreventDefault) {// Note: we are performing most of the work in the listener function itself// to optimize listener registration.return (/*** @param {?} e* @return {?}*/function wrapListenerIn_markDirtyAndPreventDefault(e) {// Ivy uses `Function` as a special token that allows us to unwrap the function// so that it can be invoked programmatically by `DebugNode.triggerEventHandler`.if (e === Function) {return listenerFn;}// In order to be backwards compatible with View Engine, events on component host nodes// must also mark the component view itself dirty (i.e. the view that it owns)./** @type {?} */const startView = tNode.flags & 2 /* isComponentHost */ ?getComponentLViewByIndex(tNode.index, lView) :lView;// See interfaces/view.ts for more on LViewFlags.ManualOnPushif ((lView[FLAGS] & 32 /* ManualOnPush */) === 0) {markViewDirty(startView);}/** @type {?} */let result = executeListenerWithErrorHandling(lView, listenerFn, e);
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的Angular input控件的click事件响应处理的调用上下文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机实况足球操作技巧(手机手机报价)
- 下一篇: 科沃斯发布2022年财报:营收150亿元