parent
							
								
									f54a5a3653
								
							
						
					
					
						commit
						4f4e8970ca
					
				|  | @ -1,6 +1,6 @@ | ||||||
| { | { | ||||||
|   "name": "wkit", |   "name": "wkit", | ||||||
|   "version": "1.10.7", |   "version": "1.10.8", | ||||||
|   "type": "module", |   "type": "module", | ||||||
|   "description": "A library for building fast, lightweight web components.", |   "description": "A library for building fast, lightweight web components.", | ||||||
|   "main": "dist/index.js", |   "main": "dist/index.js", | ||||||
|  |  | ||||||
							
								
								
									
										21
									
								
								src/index.js
								
								
								
								
							
							
						
						
									
										21
									
								
								src/index.js
								
								
								
								
							|  | @ -259,7 +259,7 @@ export class Component extends HTMLElement { | ||||||
| 
 | 
 | ||||||
|   disconnectedCallback() { |   disconnectedCallback() { | ||||||
|     if (this.keepAlive) { |     if (this.keepAlive) { | ||||||
|       this.deactivated() |       this.#asyncCallSafety(this.deactivated) | ||||||
|     } else { |     } else { | ||||||
|       this[__children__]?.setConnected(false) |       this[__children__]?.setConnected(false) | ||||||
| 
 | 
 | ||||||
|  | @ -276,7 +276,7 @@ export class Component extends HTMLElement { | ||||||
|           window.wkitd.deassign(this) |           window.wkitd.deassign(this) | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|       this.unmounted() |       this.#asyncCallSafety(this.unmounted) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   // 监听属性变化
 |   // 监听属性变化
 | ||||||
|  | @ -386,11 +386,11 @@ export class Component extends HTMLElement { | ||||||
|         this.$animate() |         this.$animate() | ||||||
|       } |       } | ||||||
|       if (this.keepAlive) { |       if (this.keepAlive) { | ||||||
|         nextTick(_ => this.activated()) |         this.#asyncCallSafety(this.activated) | ||||||
|       } |       } | ||||||
|       nextTick(_ => this.mounted()) |       this.#asyncCallSafety(this.mounted) | ||||||
|     } else { |     } else { | ||||||
|       nextTick(_ => this.updated(props)) |       this.#asyncCallSafety(this.updated, props) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -411,6 +411,17 @@ export class Component extends HTMLElement { | ||||||
|       console.error(err) |       console.error(err) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  | 
 | ||||||
|  |   #asyncCallSafety(callback, arg) { | ||||||
|  |     nextTick(_ => { | ||||||
|  |       try { | ||||||
|  |         callback.call(this, arg) | ||||||
|  |       } catch (err) { | ||||||
|  |         console.error(err) | ||||||
|  |       } | ||||||
|  |     }) | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   // 几个生命周期回调
 |   // 几个生命周期回调
 | ||||||
|   created() {} |   created() {} | ||||||
|   mounted() {} |   mounted() {} | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								src/utils.js
								
								
								
								
							
							
						
						
									
										10
									
								
								src/utils.js
								
								
								
								
							|  | @ -79,12 +79,16 @@ export function offset(node) { | ||||||
| /** | /** | ||||||
|  * 事件绑定 |  * 事件绑定 | ||||||
|  */ |  */ | ||||||
| export function bind(dom, type, selector, fn, phase = true) { | export function bind(dom, type = '', selector, fn, phase = true) { | ||||||
|   let events = type.split(',') |   let events = type.split(',') | ||||||
|   let callback |   let callback | ||||||
|   let isWc = dom.host === dom |   let isWc = dom && dom.host === dom | ||||||
|   let host = isWc ? dom : null |   let host = isWc ? dom : null | ||||||
| 
 | 
 | ||||||
|  |   if (!dom || !type) { | ||||||
|  |     return console.error('call bind: argument error') | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   if (typeof selector === 'function') { |   if (typeof selector === 'function') { | ||||||
|     phase = fn |     phase = fn | ||||||
|     fn = selector |     fn = selector | ||||||
|  | @ -147,7 +151,7 @@ export function bind(dom, type, selector, fn, phase = true) { | ||||||
| /** | /** | ||||||
|  * 解除事件绑定 |  * 解除事件绑定 | ||||||
|  */ |  */ | ||||||
| export function unbind(dom, type, fn = noop, phase = false) { | export function unbind(dom, type = '', fn = noop, phase = false) { | ||||||
|   let events = type.split(',') |   let events = type.split(',') | ||||||
|   events.forEach(function (t) { |   events.forEach(function (t) { | ||||||
|     dom.removeEventListener(t.trim(), fn, phase) |     dom.removeEventListener(t.trim(), fn, phase) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue