本文整理匯總了TypeScript中@glimmer/opcode-compiler.OpcodeBuilder.dynamicComponent方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript OpcodeBuilder.dynamicComponent方法的具體用法?TypeScript OpcodeBuilder.dynamicComponent怎麽用?TypeScript OpcodeBuilder.dynamicComponent使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@glimmer/opcode-compiler.OpcodeBuilder
的用法示例。
在下文中一共展示了OpcodeBuilder.dynamicComponent方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: inputMacro
export function inputMacro(_name: string, params: Option<WireFormat.Core.Params>, hash: Option<WireFormat.Core.Hash>, builder: OpcodeBuilder<OwnedTemplateMeta>) {
if (params === null) {
params = [];
}
if (hash !== null) {
let keys = hash[0];
let values = hash[1];
let typeIndex = keys.indexOf('type');
if (typeIndex > -1) {
let typeArg = values[typeIndex];
if (Array.isArray(typeArg)) {
// there is an AST plugin that converts this to an expression
// it really should just compile in the component call too.
let inputTypeExpr = params[0] as WireFormat.Expression;
builder.dynamicComponent(inputTypeExpr, params.slice(1), hash, true, null, null);
return true;
}
if (typeArg === 'checkbox') {
assert(
'{{input type=\'checkbox\'}} does not support setting `value=someBooleanValue`; ' +
'you must use `checked=someBooleanValue` instead.',
keys.indexOf('value') === -1,
);
wrapComponentClassAttribute(hash);
return buildSyntax('-checkbox', params, hash, builder);
}
}
}
return buildSyntax('-text-field', params, hash, builder);
}
示例2: outletMacro
export function outletMacro(
_name: string,
params: Option<WireFormat.Core.Params>,
hash: Option<WireFormat.Core.Hash>,
builder: OpcodeBuilder<OwnedTemplateMeta>
) {
let expr: WireFormat.Expressions.Helper = [WireFormat.Ops.Helper, '-outlet', params || [], hash];
builder.dynamicComponent(expr, null, [], null, false, null, null);
return true;
}
示例3: renderMacro
export function renderMacro(_name: string, params: Option<WireFormat.Core.Params>, hash: Option<WireFormat.Core.Hash>, builder: OpcodeBuilder<OwnedTemplateMeta>) {
if (ENV._ENABLE_RENDER_SUPPORT === true) {
// TODO needs makeComponentDefinition a helper that returns a curried definition
// TODO not sure all args are for definition or component
// likely the controller name should be a arg to create?
let expr: WireFormat.Expressions.Helper = [WireFormat.Ops.Helper, '-render', params || [], hash];
builder.dynamicComponent(expr, null, null, false, null, null);
return true;
}
return false;
}
示例4: mountMacro
export function mountMacro(
_name: string,
params: Option<WireFormat.Core.Params>,
hash: Option<WireFormat.Core.Hash>,
builder: OpcodeBuilder<OwnedTemplateMeta>
) {
assert(
'You can only pass a single positional argument to the {{mount}} helper, e.g. {{mount "chat-engine"}}.',
params!.length === 1
);
let expr: WireFormat.Expressions.Helper = [WireFormat.Ops.Helper, '-mount', params || [], hash];
builder.dynamicComponent(expr, null, [], null, false, null, null);
return true;
}