MOBILE-4470 compile: Fix component ID collision detected warning
Angular generates a unique component ID for each component to apply style encapsulation, restore application state, etc. Our compile code generated the same ID every time some HTML was compiled, and Angular displayed a warning in the console. Applying a different attribute every time makes sure the component ID is different in each compile.main
parent
4cae0f704d
commit
ff7a075cec
|
@ -161,6 +161,7 @@ export class CoreCompileProvider {
|
||||||
getModWorkshopComponentModules,
|
getModWorkshopComponentModules,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
protected componentId = 0;
|
||||||
protected libraries?: unknown[];
|
protected libraries?: unknown[];
|
||||||
protected exportedObjects?: Record<string, unknown>;
|
protected exportedObjects?: Record<string, unknown>;
|
||||||
|
|
||||||
|
@ -187,7 +188,7 @@ export class CoreCompileProvider {
|
||||||
await import('@angular/compiler');
|
await import('@angular/compiler');
|
||||||
|
|
||||||
// Create the component using the template and the class.
|
// Create the component using the template and the class.
|
||||||
const component = Component({ template })(componentClass);
|
const component = Component({ template, host: { 'compiled-component-id': String(this.componentId++) } })(componentClass);
|
||||||
|
|
||||||
const lazyImports = await Promise.all(this.LAZY_IMPORTS.map(getModules => getModules()));
|
const lazyImports = await Promise.all(this.LAZY_IMPORTS.map(getModules => getModules()));
|
||||||
const imports = [
|
const imports = [
|
||||||
|
|
Loading…
Reference in New Issue