Angular Flex Layout - не работает
Я пытался использовать 2.0.0-beta.9 в своем приложении, простой тест не работает
<div fxLayout="row">
<div>1. One</div> <div>2. Two</div> <div>3. Three</div> <div>4. Four</div>
</div>
отображает столбцы вместо строк
Я думаю, что я импортирую библиотеку правильно
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 {
}
2 ответа
У меня тоже такие проблемы возникали при установке flex-layout
модуль. Проблема заключается в изменении названия директивы. На сайте все директивы похожи layout
, layout-xs
, flex
так далее...
Согласно моему решению, directive
имя изменено на fx + PascalCase
,
пример
layout -> fxLayout
flex -> fxFlex
flex-order -> fxFlexOrder
flex-order-gt-md -> fxFlexOrder.gt-md
Если вы выберете Layout and Container, вы увидите изображение, показанное ниже.
Измените приведенный выше исходный код на следующий, для меня это нормально.
<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>
Я тоже столкнулся с этой проблемой, потому что я использовал несколько модулей, и я забыл импортировать FlexLayoutModule
в моих модулях " PagesModule ".
Он будет работать на главной странице, потому что он был импортирован на верхнем уровне (AppModule), а не в дочерних модулях.
Импортировав его в " PagesModule " и перезапустив сервер разработки, я исправил это.
Это более общая проблема, но время от времени ловит меня:
Убедитесь, что ваш проект на самом деле компилируется!
Если у вас есть ошибка и проект не компилируется, то изменения HTML не будут показаны, включая добавляемые директивы. Поэтому, если вы добавляете директиву в существующий код и не видите изменений, убедитесь, что компиляция завершена.
Не путайся с именами
-Использование fxLayout
и не fxFlexLayout
-Использование fxLayoutAlign
и не fxFlexLayoutAlign
Вы, вероятно, забыли точки с запятой после первых двух импортов.
import {Component, NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';