Мое требование - это что я хочу познакомить эти значения пользователю в компоненте HTML. < /p>
Мои проблемы: < /p>
Я обычно использую Getter и Setter, чтобы предоставить эти свойства из сервиса (Private - не доступен в HTML). < /P>
< /li>
Я не Хочу использовать вычисленную здесь, потому что фактических вычислений не происходит, мне просто нужна ссылка на сигнал сервиса, этот сценарий определенно не классифицируется как производное состояние, это просто ссылка на сигнал из сервиса . < /p>
< /li>
Я не хочу публиковать свою услугу, я хочу разоблачить только определенные элементы, я бы сохранил дополнительные элементы как частные, Но использование службы в HTML не является для меня вариантом. : < /p>
Сервис: < /h3>
Код: Выделить всё
@Injectable({
providedIn: 'root',
})
export class SomeService {
http = inject(HttpClient);
serviceIdSignal: WritableSignal = signal(0);
rxResource = rxResource({
request: () => this.serviceIdSignal(),
loader: ({ request: id }) => {
return this.http.get(`https://jsonplaceholder.typicode.com/todos/${id}`);
},
});
resource = resource({
request: () => this.serviceIdSignal(),
loader: ({ request: id, abortSignal }) => {
return fetch(`https://jsonplaceholder.typicode.com/todos/${id}`, {
signal: abortSignal,
}).then((r) => r.json());
},
});
}
< /code>
Компонент: < /h3>
@Component({
selector: 'app-root',
imports: [JsonPipe],
template: `
{{someService.serviceIdSignal()}}
@if(someService.rxResource.status() === rs.Resolved) {
{{someService.rxResource.value() | json}}
} @else {
Loading...
}
@if(someService.rxResource.status() === rs.Resolved) {
{{someService.resource.value() | json}}
} @else {
Loading...
}
`,
})
export class App {
rs = ResourceStatus;
private someService = inject(SomeService);
}
< /code>
ниже приведена ошибка, которую я получаю: < /p>
✘ [error] ng1: свойство 'someService' является частным и Только доступный
в приложении класса '. [Плагин угловой компилятор] < /p>
src/main.ts:56:12:
56 │ {{someService.resource.value() | json}}
╵ ~~~~~~~~~~~
Подробнее здесь: https://stackoverflow.com/questions/794 ... onents-wit