本文整理匯總了TypeScript中@aurelia/runtime.CustomElementResource.keyFrom方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript CustomElementResource.keyFrom方法的具體用法?TypeScript CustomElementResource.keyFrom怎麽用?TypeScript CustomElementResource.keyFrom使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@aurelia/runtime.CustomElementResource
的用法示例。
在下文中一共展示了CustomElementResource.keyFrom方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: registerComponent
export function registerComponent(container, ...components) {
for (const component of components) {
const name = component.description ? component.description.name : component.name;
container.register(component);
Registration.alias(CustomElementResource.keyFrom(name), component).register(container);
}
}
示例2: FakeView
export function hydrateCustomElement<T>(Type: Constructable<T>, ctx: HTMLTestContext) {
const { container, dom } = ctx;
const ElementType: ICustomElementType = Type as any;
const parent = ctx.createElement('div');
const host = ctx.createElement(ElementType.description.name);
const renderable = new FakeView(ctx);
const instruction: IHydrateElementInstruction = {
type: TargetedInstructionType.hydrateElement,
res: 'au-compose',
instructions: []
};
dom.appendChild(parent, host);
const renderableProvider = new InstanceProvider();
const elementProvider = new InstanceProvider();
const instructionProvider = new InstanceProvider<ITargetedInstruction>();
renderableProvider.prepare(renderable);
elementProvider.prepare(host);
instructionProvider.prepare(instruction);
container.register(ElementType);
container.registerResolver(IRenderable, renderableProvider);
container.registerResolver(ITargetedInstruction, instructionProvider);
dom.registerElementResolver(container, elementProvider);
const element = container.get<T & ICustomElement>(
CustomElementResource.keyFrom(ElementType.description.name)
) as T & ICustomElement & InstanceType<typeof Type>;
element.$hydrate(LF.none, container, host);
return { element, parent };
}
示例3: componentType
public componentType(context: IRenderContext): IRouteableCustomElementType {
if (this.component !== null) {
return this.component;
}
const container = context.get(IContainer);
const resolver = container.getResolver(CustomElementResource.keyFrom(this.componentName));
if (resolver !== null) {
return resolver.getFactory(container).Type as IRouteableCustomElementType;
}
return null;
}
示例4: componentInstance
public componentInstance(context: IRenderContext): IRouteableCustomElement {
if (this.content === null) {
return null;
}
// TODO: Remove once "local registration is fixed"
const component = this.componentName();
const container = context.get(IContainer);
if (typeof component !== 'string') {
return container.get<IRouteableCustomElement>(component);
} else {
return container.get<IRouteableCustomElement>(CustomElementResource.keyFrom(component));
}
}
示例5: enableTracing
import { Game } from './components/game';
import { Inventory } from './components/inventory';
import { Lobby } from './components/lobby';
import { enableTracing, TraceWriter } from './tracing';
enableTracing();
Tracer.enableLiveLogging(TraceWriter);
const container = HTMLJitConfiguration.createContainer();
container.register(
ViewportCustomElement as any,
NavCustomElement as any,
App as any,
Game as any,
Lobby as any,
About as any,
Contacts as any,
Contact as any,
Board as any,
Inventory as any,
Delayed as any,
Cancel as any,
);
const component = container.get(CustomElementResource.keyFrom('app'));
window['au'] = new Aurelia(container)
.register(DebugConfiguration)
.app({ host: document.querySelector('app'), component: component })
.start();