Использование angular2 router3 routerLink с кнопкой material2 или кнопкой-значком

У меня простой интерфейс

<button
    md-icon-button
    md-tooltip = 'Home'
    [routerLink] = "['new-patient']">
  <i class = 'mdi mdi-home mdi-36px cyanish'></i>
</button>

Вышеприведенная привязка routerLink терпит неудачу, всегда терпит неудачу со следующим:

Can't bind to 'routerLink' since it isn't a known property of 'a'. ("

    <a md-icon-button
       [ERROR ->][routerLink] = "['new-patient']"
       color = "accent">
      <md-icon class = "material-icons md-2"): SideNavsComponent@43:7

Я понимаю ошибку, но есть ли способ добавить routerLink к кнопке material2 или значку кнопки?

Довольно сложно согласиться с тем, что такая простая процедура кажется такой невозможной.

Ранее я задавал этот вопрос и получил ответ, который сработал в июне 2016 года — этот ответ больше не работает (Как использовать панель инструментов material2, кнопку и роутер angular-cli)

Спасибо


person st_clair_clarke    schedule 02.11.2016    source источник
comment
Достаточно добавить RouterModule в модуль, где вы хотите использовать routerLink, например @NgModule({imports: [CommonModule, RouterModule]}) class MyModule {}.   -  person Günter Zöchbauer    schedule 02.11.2016
comment
Спасибо Гюнтер. Интересно, что ошибка никак не намекала на отсутствующий модуль.   -  person st_clair_clarke    schedule 02.11.2016
comment
Это общая ошибка. Если вы получаете Can't bind to 'xxx', это означает, что Angular не создал экземпляр компонента или директивы для этого элемента, у которого есть ввод с таким именем для привязки. Если имя (xxx или имя элемента) написано правильно, причина в том, что компонент или директива не были доступны для текущего модуля. Это относится не только к routerLink, но и к каждому компоненту или директиве.   -  person Günter Zöchbauer    schedule 02.11.2016
comment
Спасибо за отличное объяснение Гюнтер. Отныне это будет большим подспорьем.   -  person st_clair_clarke    schedule 02.11.2016
comment
Привет, @GünterZöchbauer, хочешь добавить это в качестве ответа?   -  person Leo Caseiro    schedule 21.11.2016
comment
Спасибо за подсказку @LeoCaseiro Я ждал отзывов, если это помогло.   -  person Günter Zöchbauer    schedule 21.11.2016


Ответы (1)


Это общая ошибка. Если вы получаете Невозможно привязать к «xxx», это означает, что Angular не создал экземпляр компонента или директивы для этого элемента, который имеет ввод с этим именем для привязки. Если имя (xxx или имя элемента) написано правильно, причина в том, что компонент или директива не были доступны для текущего модуля. Это относится не только к routerLink, но и к каждому компоненту или директиве.

person Günter Zöchbauer    schedule 21.11.2016