import { HtmlViewActionType, IHtmlViewAbility, IHtmlViewController, IHtmlViewStore, IParam, } from '@/core/interface'; import { fillStrData } from '@/core/utils'; import { DEViewController } from './de-view-controller'; /** * HTML视图控制器 * * @export * @class HtmlViewController * @extends {DEViewController} * @implements {IHtmlViewController} */ export class HtmlViewController extends DEViewController implements IHtmlViewController { /** * 视图挂载 * * @param {(IParam | undefined)} [opts] * @return {*} {void} * @memberof HtmlViewController */ public viewMounted(opts: IParam = {}): void { super.viewMounted(opts); if (this.model.useDefaultLayout) { if (!this.isLoadDefault) { this.isLoadDefault = true; return; } this.initHtmlUrl(); } else { this.initLayout().then(() => { if (!this.isLoadDefault) { this.isLoadDefault = true; return; } this.initHtmlUrl(); }); } } /** * 初始化HtmlUrl * * @memberof HtmlViewController */ public initHtmlUrl() { this.store.htmlUrl = fillStrData( this.model.htmlUrl, this.store.context, this.store.viewParams ); } }