Angular что мне нужно использовать? карта? труба? кран?

#json #angular #typescript

#json #угловой #машинопись

Вопрос:

При инициализации моего компонента я получаю данные с сервера

  import {Rules} from "../../interfaces/interfaces";
 rules: Rules
 ngOnInit() {
  this.tt = this.rulesService.getUserClientRules().subscribe(
   t => {
     console.log(t)
     console.log(t.clientRules.canAll)
     this.rules = t.clientRules
   },
   error => {
    console.log(error.error.message)
   }
  )
 }
  

Мой сервисный код

 getUserClientRules(): Observable<Rules> {
return this.http.get<Rules>('/api/rules/getClientUserRules/')}
  

и у меня есть интерфейс, подобный:

 export interface Rules {
 clientRules: any
}
  

Я получаю такой ответ:

{clientRules: {canAll: true, canSee: false}}

Как я могу вставить этот объект в свой объект правил? Я хочу использовать его как rules.canAll или rules.canSeeAll

Мне нужна эта структура правил { canAll: true, canSee: true } Мне нужно использовать ее для проверок, таких как *ngIf=»rules.canSee»

Спасибо за ваши ответы!!!

Ответ №1:

Вы можете определить реквизиты в интерфейсе правил следующим образом.

 export interface Rules { 
    clientRules: { canAll: boolean, canSee: boolean, canSeeAll: boolean}
}
  

Но если ваш ответ может иметь много вариантов, я предлагаю вам использовать any type

Комментарии:

1. спасибо вам за ответ. но мне нужны эти структурные правила { canAll: true, canSee: true } Мне нужно использовать его для проверок, таких как *ngIf=»rules.canSee»

Ответ №2:

Удалить this.tt тебе они не нужны. Простое выполнение в методе подписки. Ты делаешь хорошо.