Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I include flex-layout?

I am trying to add flex-layout to an angular app, but when I do and try to use it the app breaks. I have installed

npm i @angular/flex-layout @angular/cdk

then imported in app.module.ts

import { FlexLayoutModule } from '@angular/flex-layout';

import [ FlexLayoutModule ]

I've also upgraded typescript to the latest

npm i typescript@latest

But when the app tries to compile, I get all kinds of errors:

ERROR in node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:24:19 - error TS1086: An accessor cannot be declared in an ambient context.

24     protected get parentElement(): HTMLElement | null;
                 ~~~~~~~~~~~~~
node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:26:19 - error TS1086: An accessor cannot be declared in an ambient context.

26     protected get nativeElement(): HTMLElement;
                 ~~~~~~~~~~~~~
node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:28:9 - error TS1086: An accessor cannot be declared in an ambient context.

28     get activatedValue(): string;
       ~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:29:9 - error TS1086: An accessor cannot be declared in an ambient context.

29     set activatedValue(value: string);
       ~~~~~~~~~~~~~~
node_modules/@angular/flex-layout/core/typings/breakpoints/break-point-registry.d.ts:20:9 - error TS1086: An accessor cannot be declared in an ambient context.

20     get overlappings(): BreakPoint[];
       ~~~~~~~~~~~~
node_modules/@angular/flex-layout/core/typings/breakpoints/break-point-registry.d.ts:24:9 - error TS1086: An accessor cannot be declared in an ambient context.

and the list goes on. Do I have a version mismatch of something?

like image 862
cpeddie Avatar asked Jan 28 '20 05:01

cpeddie


3 Answers

  1. Change version of flex-layout compatible with Angular 8. update angular.json
"@angular/flex-layout": "^8.0.0-beta.27"
  1. install this update
npm install

To avoid this error update tsconfig.json (Not recommended)

"compilerOptions": {
   "skipLibCheck":true
}
like image 126
shyam virani Avatar answered Oct 28 '22 14:10

shyam virani


It's because you are on Angular 8 but the library required Angular 9. In your package.json use this version : "@angular/flex-layout": "^8.0.0-beta.27"

like image 39
filol Avatar answered Oct 28 '22 13:10

filol


Try to add tslib in dependencies

npm install --save tslib

Edit

If you are using Angular v8 then use v8 for flex-layout cause v9 need Angular v9.

like image 9
Ratnadeep Bhattacharyya Avatar answered Oct 28 '22 15:10

Ratnadeep Bhattacharyya