本文整理匯總了TypeScript中@angular/compiler.compileInjector函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript compileInjector函數的具體用法?TypeScript compileInjector怎麽用?TypeScript compileInjector使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了compileInjector函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: compile
compile(node: ts.ClassDeclaration, analysis: NgModuleAnalysis): CompileResult[] {
const ngInjectorDef = compileInjector(analysis.ngInjectorDef);
const ngModuleDef = compileNgModule(analysis.ngModuleDef);
return [
{
name: 'ngModuleDef',
initializer: ngModuleDef.expression,
statements: [],
type: ngModuleDef.type,
},
{
name: 'ngInjectorDef',
initializer: ngInjectorDef.expression,
statements: [],
type: ngInjectorDef.type,
},
];
}
示例2: wrap
get: () => {
if (ngInjectorDef === null) {
const meta: R3InjectorMetadata = {
name: type.name,
type: wrap(type),
deps: reflectDependencies(type),
providers: new WrappedNodeExpr(ngModule.providers || EMPTY_ARRAY),
imports: new WrappedNodeExpr([
ngModule.imports || EMPTY_ARRAY,
ngModule.exports || EMPTY_ARRAY,
]),
};
const res = compileInjector(meta);
ngInjectorDef =
jitExpression(res.expression, angularCoreEnv, `ng://${type.name}/ngInjectorDef.js`);
}
return ngInjectorDef;
},
示例3: compile
compile(node: ts.ClassDeclaration, analysis: NgModuleAnalysis): CompileResult[] {
const ngInjectorDef = compileInjector(analysis.ngInjectorDef);
const ngModuleDef = compileNgModule(analysis.ngModuleDef);
const ngModuleStatements = ngModuleDef.additionalStatements;
if (analysis.metadataStmt !== null) {
ngModuleStatements.push(analysis.metadataStmt);
}
return [
{
name: 'ngModuleDef',
initializer: ngModuleDef.expression,
statements: ngModuleStatements,
type: ngModuleDef.type,
},
{
name: 'ngInjectorDef',
initializer: ngInjectorDef.expression,
statements: ngInjectorDef.statements,
type: ngInjectorDef.type,
},
];
}