@farris/devkit-vue
Version:
69 lines (68 loc) • 1.26 kB
TypeScript
import { Injector } from '../common/index';
import { App } from '../app/index';
/**
* 视图模型树节点
*/
declare class ViewModelNode {
/**
* 注入器
*/
protected injector: Injector;
/**
* 应用
*/
protected app: App;
/**
* 根节点
*/
protected root: ViewModelNode;
/**
* 父节点
*/
protected parent: ViewModelNode | null;
/**
* 子节点集合
*/
protected children: ViewModelNode[];
/**
* 唯一标识
*/
id: string;
/**
* 构造函数
*/
constructor(injector: Injector);
/**
* 注册到App
*/
private registerToApp;
/**
* 从App中移除注册
*/
private unregisterFromApp;
/**
* 注册父上下文
*/
private registerToParent;
/**
* 从Parent中移除注册
*/
private unregisterFromParent;
/**
* 注销上下文
*/
protected dispose(): void;
/**
* 获取注入器
*/
getInjector(): Injector;
/**
* 添加子节点
*/
addChildNode(childNode: ViewModelNode): void;
/**
* 删除子节点
*/
removeChildNode(childNodeToRemove: ViewModelNode): void;
}
export { ViewModelNode };