Reputation: 451
I tried to use 2.0.0-beta.9 in my app, a simple test doesn't work
<div fxLayout="row">
<div>1. One</div> <div>2. Two</div> <div>3. Three</div> <div>4. Four</div>
</div>
displays columns instead of rows
I think I am importing the library properly
import {Component, NgModule} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
import {FlexLayoutModule} from "@angular/flex-layout";
import {TestApp} from "./test-app";
@NgModule({
imports: [
BrowserModule,
FlexLayoutModule
],
declarations: [ TestApp ],
bootstrap: [ TestApp ]
})
export class TestAppModule {
}
Upvotes: 21
Views: 36337
Reputation: 1451
I ran into this issue too and the cause was me using multiple modules and I forgot to import the FlexLayoutModule
in my "PagesModule" modules.
It would work on the main page because it was imported at the top level (AppModule) and not on the child modules.
Importing it in the "PagesModule" and restarting the development server fixed it for me.
Upvotes: 12
Reputation: 146218
This is more of a generic problem, but catches me once in a while:
Make sure your project is actually compiling!
If you have an error and the project doesn't compile, then HTML changes won't be shown - which includes directives being added. So if you add a directive to existing code and don't see the change make sure your compile completes.
Don't get muddled up with the names
-Use fxLayout
and not fxFlexLayout
-Use fxLayoutAlign
and not fxFlexLayoutAlign
Upvotes: 2
Reputation: 9935
I also got like that problems when I install the lasted flex-layout
module. The problems is directive name changes.
In website, all of the directive are like layout
, layout-xs
, flex
etc...
According to my solution, directive
name are changed to fx + PascalCase
.
Example
layout -> fxLayout
flex -> fxFlex
flex-order -> fxFlexOrder
flex-order-gt-md -> fxFlexOrder.gt-md
If you check Layout and Container, you will see as below image.
Change above source code to as the following, it is OK for me.
<div fxLayout="row">
<div fxFlex>First item in row</div>
<div fxFlex>Second item in row</div>
</div>
<div fxLayout="column">
<div fxFlex>First item in column</div>
<div fxFlex>Second item in column</div>
</div>
Upvotes: 13