Angular 6 features two separate lazy loading modules that share a common component

I have a structure as follows:

---app.module
-------child1.module
-------child2.module

Both child modules use a common component (app-film). I declared the component in app.module, but Angular is still showing an error.

Can't bind to 'film' since it isn't a known property of 'app-film'.
1. If 'app-film' is an Angular component and has a 'film' input, verify that it is part of this module.
2. If 'app-film' is a Web Component, add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.

View the code on stackblitz here: https://stackblitz.com/github/ms-dosx86/films

Answer №1

If you have nested modules, it's important to note that components defined in the parent module may not be visible to the nested ones. To solve this issue, you can create a SharedModule as shown below:

@NgModule({
   declarations: [ AppFilmComponent ],
   exports: [ AppFilmComponent ]
})
export class SharedModule { }

Then, export the AppFilmComponent from the SharedModule and import the SharedModule into each child module separately.

@NgModule({
   ...
   imports: [ SharedModule ]
   ...
})
export class Child1Module { }

Similarly,

@NgModule({
   ...
   imports: [ SharedModule ]
   ...
})
export class Child2Module { }

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Retrieve the time zone setting from either my browser or server, and then incorporate it into angular2-highcharts

My current timezone setup is done manually using the timezoneOffset function from the Highcharts API. I am currently in GMT+2 so I set it to -2 * 60. However, I encountered an issue where my setup would not work properly when the hour changes in October. T ...

Webpack focuses solely on serving HTML files, neglecting to deliver the underlying code

Hey there! I'm currently working on a project that involves using React, TypeScript, and Webpack. I ran into some errors previously that prevented the code from compiling, but now that's fixed. However, when I run webpack, it only serves the HTML ...

Piwik causing runtime errors in Angulartics2 build

Upon upgrading Angulartics2 to version 7.0.2 and launching my project, I encountered the following error: Error: Type '(typeof Angulartics2Piwik)[]' has no properties in common with type 'Partial<Angulartics2Settings>'. I had p ...

Using *ngIf in Angular to display a list of items only when the length is greater than 0

<h1>{{title}}</h1> <ul> <li *ngFor="let breed of data.message | keyvalue"> <a [routerLink]="['/picsofbreed']" [queryParams]="{breed: breed.key}" target="_blank">{{breed.k ...

Tips for customizing the color scheme of background, rows, row selection, and headers in Angular 4 using Bootstrap 4 data tables

I've integrated Bootstrap 4 data table in my Angular 4 project, but I'm struggling to customize row colors, row selection colors, and header colors. You can check out the example of the data table I'm using at this link: https://github.com/ ...

Converting text data into JSON format using JavaScript

When working with my application, I am loading text data from a text file: The contents of this txt file are as follows: console.log(myData): ### Comment 1 ## Comment two dataone=1 datatwo=2 ## Comment N dataThree=3 I am looking to convert this data to ...

Is there a way to retrieve the operating system user name using Angular 6?

In order to ensure security for hospital staff using our app on Chromebooks, I am looking to retrieve the OS username and send it to a .NET web API. This API will then check if the user exists in the active directory and return their information. ...

Utilize Immer and ES6 to effortlessly update a nested object within the Redux store by manipulating normalized data structure

I own a store where I use the global Update action I am interested in updating only a section of the data, without having to get the full data again to normalize Here is how my store looks like: { store:{ students:{ "1": { "n ...

Retrieving Data from API in Angular 6/7 upon Navigating Back to Previously Visited Page

I'm currently navigating my way through angular and encountering a small hurdle. I aim to guide a user to a data entry page where most fields are pre-filled by retrieving data from the database based on a record id. The user then modifies some fields, ...

Issue: Incorrect parameter supplied for pipe 'AsyncPipe' in MatTable Angular 11

Currently, I am working on integrating Angular MatTable with an async pipe. The data is retrieved from a RESTAPI as an Observable. However, when I attempt to utilize ([dataSource] = "dataSource | async") in this manner, it results in the error described ab ...

Concealing tab bars on Ionic 2 secondary pages

In my Ionic Bootstrap configuration, I have the following setup: { mode: 'md', tabsHideOnSubPages: true } However, despite having this setting in place, the tabs still appear on some sub-pages. It seems to be happening randomly. Is there ...

Utilizing JSDoc for establishing an index signature on a class in ES6

When working with JSDoc, achieving the equivalent of Typescript's computed property names can be a challenge. In Typescript, you'd simply define it like this: class Test { [key: string]: whatever } This syntax allows you to access these comput ...

Convert the existing jQuery function to Angular 9 syntax

I have just started learning Angular and am finding it challenging to rewrite a jQuery code that I use for loading the "classycountdown" script. Below is the jQuery function that I need to convert: $(document).ready(function() { var remainingSec = $(& ...

Attempt to re-establish connection to server callback in Angular 2 upon encountering failure

tag, I have created an API parent class where all the necessary methods are implemented for server communication. The ApiService class is injected with Http and MdSnackBar services to handle HTTP requests and display snack bar messages. The get() method ...

Synchronizing Angular icons with HTML text

Presenting my HTML code <div class="transfer-link" *ngIf="showTransferLink" qa-name="transfer-link"> <a routerLink="/Transfers"> <mat-icon>sync_alt</mat-icon> <div> Transfer </div> ...

Setting a background image in vanilla-extract/css is a straightforward process that can instantly enhance

I am brand new to using vanilla-extract/CSS and I have a rather straightforward question. I am attempting to apply a background image to the body of my HTML using vanilla-extract, but I am encountering issues as I keep getting a "failed to compile" error. ...

Using TypeScript to destructure by providing types

I encountered an issue while trying to destructure some code. The error message Property 'name' does not exist on type '{}'. is appearing. I thought about using let user:any = {}; as a workaround, but that goes against the eslint rule o ...

What is the reason behind eslint not permitting the rule option @typescript-eslint/consistent-type-imports?

Upon implementing the eslint rule, I configured it like this. module.exports = { rules: { "@typescript-eslint/consistent-type-imports": [ "error", { fixStyle: "inline-type-imports" ...

React Native is throwing a TypeError because it is encountering an undefined object

React Native is throwing an error claiming Undefined is not an object when it's clearly an object!! I'm confused about what's happening. Take a look at the code snippet below. Scroll down to the render() function. You'll see the follow ...

Detect Empty Fields as Invalid in Angular 2+ Form Validation

I have been implementing Form Validations in my form using reactive form validation. However, I encountered a challenge when checking a field that is touched and dirty. For example: HTML: <input id="name" class="form-control" formControlName="n ...