Хотя было бы лучше найти собственное угловое решение, если вы действительно хотите использовать плагин jquery, вам нужно создать плагин dotdotdot для элемента dom.
В приведенном ниже коде предполагается, что у вас естьимпортированные jquery и плагин dotdotdot в вашем проекте.
Из вашего компонента
component.ts
import { Component , ViewChild} from '@angular/core';
declare let $: any;
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
@ViewChild('test') elt; //get a reference to the element
ngAfterViewInit()
{
$(this.elt.nativeElement).dotdotdot(
{
height: 70,watch: true
}
)
}
}
Добавитьссылка на ваш шаблон
template.html
<div #test>content here </div>
Использование директивы
Если вы хотите использоватьдиректива, вы можете попробовать это
directive.ts
import { Directive, ElementRef } from '@angular/core';
declare var $: any;
@Directive({
selector: '[dotdotdot]'
})
export class DotdotdotDirective {
constructor(private el: ElementRef) {
setTimeout(()=>{
$(el.nativeElement).dotdotdot({
watch: true,
height: 70
});
});
}
}
template.ts
Добавьте ссылку на вашtemplate
template.html
<div dotdotdot>content here </div>
Примечание : я добавил setTimeout
, так как кажется, что он не работает, вероятно, потому чтопри запуске плагина в элементе еще нет содержимого
Stackblitz demo