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