Property 'X' is private and only accessible within class 'xyzComponent'

Issue

I’m trying to build angular2 application for production for that I’m following this blog. After my ngc successful compilation when the tsc compilation takes place it generates below error shown in the image:

After searching for a while I found this blog which explains the problem in "The context property" section which I’m not able to understood properly may be it give some good idea to you that what’s happening wrong.
basically when we’re making a variable private we’re getting "ERROR: Property is private and only accessible within class".

Solution

For a given component all its members (methods, properties) accessed by its template must be public in the AOT compilation scenario. This is due to the fact that a template is turned into a TS class. A generated class and a component are 2 separate classes now and you can’t access private members cross-class.

In short: you can’t access private members in your templates if you want to use ahead-of-time compilation.

For better explaination https://github.com/angular/angular/issues/11422

Answered By – harish gadiya

Answer Checked By – Marie Seifert (AngularFixing Admin)

Leave a Reply

Your email address will not be published.