Angular2 ES6 @ Альтернатива ввода

Я пытаюсь построить <markdown-component> используя синтаксис ES6. @Input Синтаксис Sugar не поддерживается в ES6, и я не могу найти жизнеспособную альтернативу.

Я определяю вход в родительском с помощью:

<ng2-markdown [source]="source"></ng2-markdown>

Затем, принимая ввод, используя:

@Component({
  selector: 'ng2-markdown',
  inputs: [ 'source' ]
})

Если я добавлю шаблон, который смогу получить, он выведет значение, как и ожидалось, но нет никакого способа использовать входные данные в конструкторе.

Этот модуль должен быть директивой, а source значение будет определять путь к загружаемому файлу Markdown.

1 ответ

Решение

Благодаря комментарию @Eric Martinez я смог заставить его работать.

Входы недоступны до OnInit фаза жизненного цикла.

Следующее сработало:

...
export class MarkdownComponent {
  constructor () {}

  ngOnInit() {
    console.log(this.source);
  }
...

Я пытался получить доступ к входу в конструкторе, прежде чем входы были инициализированы.

Другие вопросы по тегам