ng-container => ошибка на пустой странице в Ionic - PullRequest
0 голосов
/ 28 ноября 2018

Чтобы получить чистый и СУХОЙ ионный проект, я просто хотел, чтобы мой код navbar был написан в одном месте, вместо того, чтобы писать весь HTML на каждой ионной странице.

Для этой цели я создалугловой компонент (не ионная страница) с именем navbar, и я внедряю его в свои страницы.Чтобы сохранить чистый макет без каких-либо дополнительных вещей в DOM, я создал компонент с обозначением в скобках, например:

@Component({
  // brackets let the selector be used as a property instead of a component
  selector: '[navbar]',
  templateUrl: 'navbar.html',
})
export class NavbarComponent {

  @Input() title: string = 'default title';
  constructor() {}

}

Затем я пытаюсь внедрить компонент в страницы следующим образом:

<ng-container navbar title="My good title"></ng-container>

Цель состоит в том, чтобы не создавать никаких дополнительных узлов в DOM для поддержания чистого макета.Но это НЕ РАБОТАЕТ, так как я получаю пустую страницу без какой-либо конкретной ошибки в консоли.

Для сравнения

<div navbar title="My good title"></div>

работает, но мой макет не работает (запускается ионное содержимоес самой верхней части моей страницы, скрываемой navbar)

Есть идеи?Спасибо.

// navbar.html код

<ion-header>
  <ion-navbar>
    <button ion-button menuToggle>
      <ion-icon name="ios-menu"></ion-icon>
    </button>

    <ion-title>{{title}}</ion-title>

    <ion-buttons margin-horizontal end>
      <img class="logo-navbar" src="../../assets/imgs/logo-hudi-noir-noborder.png">
    </ion-buttons>
  </ion-navbar>
</ion-header>

ionic (Ionic CLI): 4.1.2 Ionic Framework: ionic-angular 3.9.2 @ ionic / app-scripts: 3.1.9

1 Ответ

0 голосов
/ 28 ноября 2018

Вы можете применить атрибут navbar к элементу ion-header:

<ion-header navbar title="My good title"></ion-header>

и определить NavbarComponent как содержимое этого элемента:

<ion-navbar>
  <button ion-button menuToggle>
    <ion-icon name="ios-menu"></ion-icon>
  </button>
  <ion-title>{{title}}</ion-title>
  <ion-buttons margin-horizontal end>
    <img class="logo-navbar" src="../../assets/imgs/logo-hudi-noir-noborder.png">
  </ion-buttons>
</ion-navbar>

См. это стекаблиц для демонстрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...