javascript - Kan inte binda till 'highlight' eftersom det inte är en känd egenskap hos 'code'
Jag försöker använda ngx-highlightjs och jag har följande kod i modulfilerna. Jag har flera moduler och importerar därför HighlightModule i den modul där markeringsfunktionen behövs. Så följande kod finns inte i App Module.
import { HighlightModule, HIGHLIGHT_OPTIONS, HighlightOptions} from 'ngx-highlightjs';
@NgModule({
declarations: [
EnvironmentComponent,
RepositoryComponent
],
imports: [
CommonModule,
SharedModule,
HighlightModule
],
providers: [
EnvironmentService,
AuthService,
{
provide: HIGHLIGHT_OPTIONS,
useValue: {
coreLibraryLoader: () => import('highlight.js/lib/core'),
lineNumbersLoader: () => import('highlightjs-line-numbers.js'),
languages: {
typescript: () => import('highlight.js/lib/languages/typescript'),
css: () => import('highlight.js/lib/languages/css'),
xml: () => import('highlight.js/lib/languages/xml')
}
}
}
],
})
och i komponentmallen har jag koden så här:
<pre><code [highlight]="fileData" (highlighted)="onHighlight($event)"></code></pre>
Nu får jag följande fel och utdata visas inte:
Can't bind to 'highlight' since it isn't a known property of 'code'Hur kan jag fixa detta?
Svar #1
Tänk också på att lägga till HighlightModule i din komponents modul
myCompo.module.ts :
import { HighlightModule } from 'ngx-highlightjs';
imports: [
....
HighlightModule,
Svar #2
Jag tror problemet är relaterat till att Angular inte ser det inbyggda JavaScript-biblioteket som i det här fallet är highlight.js. Eftersom highlight-attributet är en direktiv som definieras av highlight.js
Jag hade också samma problem. Och löste problemet genom att följa dessa steg.
1- Jag installerade highlight.js manuellt i projektkatalogen.
npm install highlight.js
2- la till följande rader i skript- och stilavsnitten i filen angular.json.
"styles":[
"./node_modules/highlight.js/styles/default.css"
],
"scripts": [
"./node_modules/highlight.js/lib/highlight.js"
]
