Я понимаю, что это может быть вне области контейнера DI Aurelia, но, возможно, нет.Aurelia DI получает экземпляры класса по абстрактной базе и/или интерфейсу
Я хочу, чтобы иметь возможность случайным образом возвращать экземпляр любого класса, который наследуется от интерфейса.
К примеру, у меня есть ...
interface MonsterRecipe
class KoboldRecipe implements MonsterRecipe
class GoblinRecipe implements MonsterRecipe
Первая часть этого разжиться массива классов рандомизации с.
Я пробовал let allRecipes = container.getAll(MonsterRecipe)
, но он возвращает 0 пунктов.
Я подозреваю, что мне может потребоваться определенная регистрация?
Если это полностью испорчено ... Есть ли другой способ получить случайный GoblinRecipe или KoboldRecipe, когда я попрошу MonsterRecipe
.
Это позволило бы мне использовать контейнер. Но я надеялся уйти от создания собственного рецепта. :( – 4imble
Не уверен, что это возможно с помощью TypeScript или aurelia. Я добавил пример с помощью декоратора, возможно, немного более изящным (только что заметил, что я использовал класс вместо интерфейса для MonsterRecipe, но он работает одинаково). – kdev