I using Angular 5.0.1 and ngx-translate/core 8.0.0
I have this code in template
<p [innerHTML]="'privacyAgree'|translate:{href:'#'}"></p>
and this string in en.json
"privacyAgree": "Clicking «Registration» button, I accept<a href=\"{{href}}\">the terms</a>"
and this code in my less file
p{
color: #8A8C8D;
font-size: 13px;
line-height: 1.4em;
a{
color: #222222;
}
}
but color for inner "a" will not apply because Angular create this styles
p[_ngcontent-c3] {
color: #8A8C8D;
font-size: 13px;
line-height: 1.4em;
}
p[_ngcontent-c3] a[_ngcontent-c3] {
color: #222222;
}
but ngx-translate create this code
<p _ngcontent-c3="">Clicking «Registration» button, I accept<a href="#">the terms</a></p>
and "a" tag doesn't have necessary attribute.
So how I can render [innerHTML] template after translation?
Setting Up the Project Create a brand new Angular application and add some dependencies. Open your terminal and use @angular/cli to create a new project: ng new angular-ngx-translate-example --skip-tests.
No sadly not anymore.
The service also contains a method called translate. It is later called by the pipe to get the translation for a specific key. It always uses the language specified in the 'language'-variable of the service, to lookup the translation. That's it.
You have to change Encapsulation
mode of your component.
Check this question, it had similar problem.
Encapsulation
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With