本文整理汇总了TypeScript中@angular/core.NgModuleRef.destroy方法的典型用法代码示例。如果您正苦于以下问题:TypeScript NgModuleRef.destroy方法的具体用法?TypeScript NgModuleRef.destroy怎么用?TypeScript NgModuleRef.destroy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@angular/core.NgModuleRef
的用法示例。
在下文中一共展示了NgModuleRef.destroy方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: createNewHosts
module.hot.dispose(() => {
const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef)
const elements = appRef.components.map(c => c.location.nativeElement)
const makeVisible = createNewHosts(elements)
ngModule.destroy()
makeVisible()
})
示例2: async
export const createApplicationTestContext = async (uri: string = ApplicationFallbackOptions.fallbackUri, providers: Array<Provider> = []): Promise<ApplicationTestContext> => {
const platform: ServerPlatform = createJitPlatform() as ServerPlatform;
let moduleRef: NgModuleRef<any>;
let exception: Error;
const zone = forkZone(templateDocument, uri, {
onHandleError: function (parentZoneDelegate: ZoneDelegate, currentZone: Zone, targetZone: Zone, error) {
exception = error;
}
});
await zone.runGuarded<Promise<void>>(async () => {
moduleRef = await platform.bootstrapModule(BasicRoutedModule, {}, providers);
});
return {
run(fn: (moduleRef: NgModuleRef<any>) => void | Promise<void>): Promise<void> {
if (exception) {
return Promise.reject(exception);
}
return zone.runGuarded<Promise<void>>(() => Promise.resolve(fn(moduleRef)));
},
dispose() {
try {
moduleRef.destroy();
}
finally {
platform.destroy();
}
}
};
};
示例3: createNewHosts
module.hot.dispose(() => {
const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef);
const elements = appRef.components.map(c => c.location.nativeElement);
const removeOldHosts = createNewHosts(elements);
ngModule.destroy();
removeOldHosts();
cssLinkManager.disposeLinks();
});
示例4: createNewHosts
module.hot.dispose(() => {
const appRef: ApplicationRef = ngModule.injector.get(ApplicationRef);
const modalService = ngModule.injector.get(NzModalService, null) as NzModalService;
if (modalService) modalService.closeAll();
const elements = appRef.components.map(c => c.location.nativeElement);
const makeVisible = createNewHosts(elements);
ngModule.destroy();
makeVisible();
});
示例5: bootstrap
.subscribe((stable) => {
// Fire the TransferState Cache
const bootstrap = moduleRef.instance['ngOnBootstrap'];
bootstrap && bootstrap();
// The parse5 Document itself
const AST_DOCUMENT = state.getDocument();
// Strip out the Angular application
const htmlDoc = state.renderToString();
const APP_HTML = htmlDoc.substring(
htmlDoc.indexOf('<body>') + 6,
htmlDoc.indexOf('</body>')
);
// Strip out Styles / Meta-tags / Title
const STYLES = [];
const SCRIPTS = [];
const META = [];
const LINKS = [];
let TITLE = '';
//let STYLES_STRING = htmlDoc.substring(
//htmlDoc.indexOf('<style ng-transition'),
//htmlDoc.lastIndexOf('</style>') + 8
//);
let STYLES_STRING: string = htmlDoc.indexOf('<style ng-transition') > -1
? htmlDoc.substring(
htmlDoc.indexOf('<style ng-transition'),
htmlDoc.lastIndexOf('</style>') + 8)
: null;
// STYLES_STRING = STYLES_STRING.replace(/\s/g, '').replace('<styleng-transition', '<style ng-transition');
const HEAD = AST_DOCUMENT.head;
let count = 0;
for (let i = 0; i < HEAD.children.length; i++) {
let element = HEAD.children[i];
if (element.name === 'title') {
TITLE = element.children[0].data;
}
if (element.name === 'script') {
SCRIPTS.push(
`<script>${element.children[0].data}</script>`
);
}
// Broken after 4.0 (worked in rc)
// if (element.name === 'style') {
// let styleTag = '<style ';
// for (let key in element.attribs) {
// if (key) {
// styleTag += `${key}="${element.attribs[key]}">`;
// }
// }
// styleTag += `${element.children[0].data}</style>`;
// STYLES.push(styleTag);
// }
if (element.name === 'meta') {
count = count + 1;
let metaString = '<meta';
for (let key in element.attribs) {
if (key) {
metaString += ` ${key}="${element.attribs[key]}"`;
}
}
META.push(`${metaString} />\n`);
}
if (element.name === 'link') {
let linkString = '<link';
for (let key in element.attribs) {
if (key) {
linkString += ` ${key}="${element.attribs[key]}"`;
}
}
LINKS.push(`${linkString} />\n`);
}
}
resolve({
html: APP_HTML,
globals: {
styles: STYLES_STRING,
title: TITLE,
scripts: SCRIPTS.join(' '),
meta: META.join(' '),
links: LINKS.join(' ')
}
});
moduleRef.destroy();
//.........这里部分代码省略.........
示例6: callback
.subscribe(() => {
callback(state.renderToString());
moduleRef.destroy();
});