Создание ссылки в угловой трубе - PullRequest
0 голосов
/ 05 июня 2018

Я создаю трубу для функции «Подробнее» в угловом проекте.Однако в пользовательском канале я не могу создать routerLink для перенаправления на страницу.Можем ли мы создать один?

1 Ответ

0 голосов
/ 05 июня 2018

Здесь я написал для вас краткий код.Я надеюсь, что это будет полезно.

Ссылка: https://stackblitz.com/edit/angular-wib3ak

DIRECTIVE

    import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';

@Directive({
  selector : '[read-more]'
})
export class ReadMoreDirective implements OnInit {

  @Input('read-more') text : string;

  constructor(
    private elementRef : ElementRef,
    private renderer : Renderer2
  ) {
  }

  ngOnInit() {
    if (this.text && this.text.length > 30) {
      //
      // Add button read more
      let text = this.renderer.createText(this.text.substring(0,30));
      this.renderer.appendChild(this.elementRef.nativeElement, text);


      let link = this.renderer.createElement('a');
      link.href = 'link to long';
      link.innerHTML = 'Read More';

      this.renderer.appendChild(this.elementRef.nativeElement, link);
      return;
    }

    this.elementRef.nativeElement.innerText = this.text;
  }
}
...