#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 тебе они не нужны. Простое выполнение в методе подписки. Ты делаешь хорошо.