Невозможно связать с 'иконкой', так как это не известное свойство 'fa-icon' - PullRequest
0 голосов
/ 28 апреля 2018

Я использую ngx-share Директиву кнопки Share в моем проекте. Тем не менее, я не могу использовать значки. Если я попытаюсь использовать значки, как это:

<button mat-fab shareButton="telegram" [style.backgroundColor]="share.prop.telegram.color">
  <fa-icon [icon]="share.prop.telegram.icon" size="lg"></fa-icon>
</button>

Я получаю следующую ошибку:

Uncaught Error: Template parse errors:
Can't bind to 'icon' since it isn't a known property of 'fa-icon'.
1. If 'fa-icon' is an Angular component and it has 'icon' input, then verify that it is part of this module.
2. If 'fa-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. ("on mat-fab shareButton="telegram" [style.backgroundColor]="share.prop.telegram.color">
    <fa-icon [ERROR ->][icon]="share.prop.telegram.icon" size="lg"></fa-icon>
  </button>

"): ng:///AppModule/GroupComponent.html@49:13
'fa-icon' is not a known element:
1. If 'fa-icon' is an Angular component, then verify that it is part of this module.
2. If 'fa-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("

  <button mat-fab shareButton="telegram" [style.backgroundColor]="share.prop.telegram.color">
    [ERROR ->]<fa-icon [icon]="share.prop.telegram.icon" size="lg"></fa-icon>
  </button>

"): ng:///AppModule/GroupComponent.html@49:4
    at syntaxError (compiler.js:486)
    at TemplateParser.parse (compiler.js:24674)
    at JitCompiler._parseTemplate (compiler.js:34629)
    at JitCompiler._compileTemplate (compiler.js:34604)
    at eval (compiler.js:34505)
    at Set.forEach (<anonymous>)
    at JitCompiler._compileComponents (compiler.js:34505)
    at eval (compiler.js:34375)
    at Object.then (compiler.js:475)
    at JitCompiler._compileModuleAndComponents (compiler.js:34374)

Как я могу исправить эту проблему?


Я добавил ShareModule в список импорта:

@NgModule({
  imports: [
    //..
    ShareModule.forRoot()
  ]
})

Мой компонент также внедряет объект ShareButtons по мере необходимости:

export class GroupComponent {    
  constructor(public share: ShareButtons) {
  }
}

Ответы [ 2 ]

0 голосов
/ 28 апреля 2018

Редактировать Вы также можете импортировать ShareButtonModule, который уже экспортирует FontAwesomeModule.

Оригинальный ответ

Предполагая, что вы уже установили замечательный пакет npm для шрифтов, вам нужно добавить FontAwesomeModule к импорту вашего модуля

import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';

@NgModule({
 //...
imports: [
     //...
   FontAwesomeModule
  ],
})
export class AppModule { }  

См. Пример здесь

https://www.npmjs.com/package/@fortawesome/angular-fontawesome

0 голосов
/ 28 апреля 2018

Вам необходимо импортировать ShareButtonsModule в модуль, где вы используете эти кнопки общего доступа.

import { ShareButtonsModule } from '@ngx-share/buttons';

@NgModule({
  imports: [
    ShareButtonsModule.forRoot()
  ]
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...