Как создать Angular Flex-Layout stylebuilder для генерации fxLayoutGap по умолчанию? - PullRequest
1 голос
/ 08 марта 2019

Я пытаюсь создать конструктор стилей для генерации значения по умолчанию fxLayoutGap, если ничего не указано, как указано здесь :

Это мои настройки

модуль

@NgModule({
    ...
    providers: [{
        provide: LayoutGapStyleBuilder,    // when default is requested
        useClass: DefaultLayoutGapStyleBuilder  // provide instead custom builder
    }]
})

default-layout-gap-style-builder.ts

import { Injectable } from '@angular/core';
import { LayoutGapParent, LayoutGapStyleBuilder, StyleDefinition } from '@angular/flex-layout';

@Injectable()
export class DefaultLayoutGapStyleBuilder extends LayoutGapStyleBuilder {
    buildStyles(input: string, parent: LayoutGapParent): StyleDefinition {

        input = input || '10px';    

        return super.buildStyles(input, parent); // THIS RETURNS { }
    }
}

view.html

<div fxLayout="row wrap" fxLayoutGap>

Кажется, что все правильно подключено, но вызов super.buildStyles ничего не возвращает, поэтому стиль пробела по умолчанию 10px не применяется.

1 Ответ

2 голосов
/ 08 марта 2019

Согласно исходному коду , если значение, которое вы передаете, в этом случае '10px' не заканчивается на ' grid';, тогда оно вернет пустой объект и не даст вам схему разрыва.Я предполагаю, что вы захотите использовать другой компоновщик или вход для вашего варианта использования.

...