Угловая функция защиты - PullRequest
       3

Угловая функция защиты

0 голосов
/ 03 октября 2018

Для моего приложения я пытаюсь реализовать функцию, которая показывает конкретные параметры, если пользователь является владельцем сообщений на странице.Опции включают в себя такие вещи, как редактирование, создание новых и т. Д.

Ниже вы можете увидеть мои текущие функции и, конечно, он работает отлично!Тем не менее, я хотел бы реализовать это как некоторую форму защиты, но я не очень знаком с Angular и не понимаю, как Angular guard может дать возвращаемое значение.

        if (this.posts.user.id === this.authService.user.id) {
          this.userOwnsPosts = true;
      }

Вопрос в том, как можноЯ делаю это угловой путь?Не должно быть стражей, если это не угловой путь.

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Начните с this.userOwnsPosts = this.posts.user.id === this.authService.user.id;.

В шаблоне HTML используйте *ngIf:

<div *ngIf="userOwnsPost">
  <button>Edit</button>
  <button>Delete</button>
  ....
</div>
0 голосов
/ 03 октября 2018

Технически, «Guard» является реализацией «Route Guard», например, интерфейса CanActivate , и предназначен для работы с маршрутизатором.

Для отображения /скрывая части пользовательского интерфейса, вы обычно используете директиву NgIf в своем шаблоне, например, если у вас есть функция, которую вы упомянули в своем вопросе, вы можете сделать что-то вроде:

<div *ngIf="userOwnsPosts">
 ...some options go here
</div>

Если эти опции - "routerLinks", вы также можете использовать защиту маршрута, но если вы используете только защиту маршрута, без ngIf, опция все равно будет отображаться, но ничего не делать при нажатии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...