NgStyle в Angular 2+ не учитывает 0 (ноль) от входного параметра - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть входной параметр top и bottom, который, как они утверждают, является верхним и нижним в CSS. Когда я добавляю в качестве входных данных компонент 0 вверху, 0 отсутствует в стиле CSS. Например, верх: 0px там не отображается.

<k-sidebar [id]="'testId'" 
  [attachToBody]="true"
  [top]="0"
  [bottom]="60"
  [sideBarMode]="'sliding'"
  [sideBarSide]="'right'" 
  [clickOutsideSidebar]="true" 
  [theme]="theme.dark" 
  [sideBarOverlap]="false"
  [scrollable]="true"
  [sideBarWidth]="'377px'"
  [selfToggle]="true">
    <!--<ng-template kennedysSidebar>
      This is a template passed
    </ng-template> -->
  </k-sidebar>

и ngStyle компонента HTML выглядит следующим образом.

[ngStyle]="{'width.px': sidebar.isDesktopWidth ? sideBarWidth : '',
         'margin-bottom.px': marginBottom ? marginBottom : '',
         'margin-top.px': marginTop ? marginTop : '',
         'top.px': top ? top : '',
         'bottom.px': bottom ? bottom : ''}"

Внизу я вижу это в CSS как 60px, однако, когда я передаю 0 (ноль), его нет в CSS .. какие-либо идеи, почему это происходит? Я думаю, что вершина (входная) обрабатывается как ноль или что-то

1 Ответ

3 голосов
/ 28 апреля 2020

, потому что 0 - ложное значение. Условие top ? top : '' всегда будет возвращать false

...