optimize the definition of VMPanel
This commit is contained in:
@@ -54,20 +54,19 @@ export abstract class ViewModel<M extends Object, V extends ViewHolder> {
|
||||
|
||||
abstract onBind(state: M, vh: V): void
|
||||
}
|
||||
export type ViewModelClass<M, V extends ViewHolder> = new (m: M, v: V) => ViewModel<M, V>
|
||||
|
||||
export type ViewHolderClass<V> = new () => V
|
||||
export type ClassType<T> = new (...args: any) => T
|
||||
|
||||
export abstract class VMPanel<M extends Object, V extends ViewHolder> extends Panel {
|
||||
|
||||
private vm?: ViewModel<M, V>
|
||||
private vh?: V
|
||||
|
||||
abstract getViewModelClass(): ViewModelClass<M, V>
|
||||
abstract getViewModelClass(): ClassType<ViewModel<M, V>>
|
||||
|
||||
abstract getState(): M
|
||||
|
||||
abstract getViewHolderClass(): ViewHolderClass<V>
|
||||
abstract getViewHolderClass(): ClassType<V>
|
||||
|
||||
getViewModel() {
|
||||
return this.vm
|
||||
|
Reference in New Issue
Block a user