本文整理汇总了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;
}