Я хочу иметь такую вещь — Api.drinks.info — > который является статическим и возвращает строку. Но у меня есть ошибка
module App {
export class Api {
public static drink: Drink;
}
class Drink {
static get base(): string { return '/api/drink'; }
public static get info(): string { return `${Drink.base}/info`; }
}}
Как это исправить или реализовать? Спасибо!.
ОБНОВЛЕНИЕ
Одно из возможных решений
module Api {
export module Drink {
var base = '/api/drink';
export var info = `${base}/info`;
}
export module Admin {
var base = '/api/drink';
export var info = `${base}/info`;
}}
Api.drink
нетDrink
, класс (конструктор), который имеетinfo
; это экземплярDrink
, которого нет. Линия, пытающаяся получить доступ к нему, пытается использовать экземпляр, как если бы это был класс.Вы не экспортируете
Drink
, поэтому единственный способ получить доступ к нему-это действительно окольный путь:…Но было бы лучше экспортировать
Drink
и использовать его напрямую:Обратите внимание, что приведенный код никогда не присваивает значение
drink
экземпляру, поэтому вам нужно сделать это с любым из вышеперечисленных.С другой стороны , возможно, вы намеревались выставить
Drink
, конструктор, как статический членApi
? Если это так, вам нужно немного изменить ситуацию, см. комментарии:Затем: