Я наверное что-то очень важное про vue не знаю. Помогите восполнить пробел - расскажите, откуда вы взяли, что v-for умеет дожидаться разрешения промисов?
Дмитрий Михальцов, это вы зря так. К тому же "обычный" for так же не ждет промисов. Если вы только вы туда асинхронный итератор не затолкаете. И v-for никакого отношения к :src и к функции load не имеет - он спокойно пробегает по type создает элементы и завершает свою работу. Делайте bind к переменной куда загрузите значение, а не к промису, load вызывайте отдельно.
Robur, в массиве type содержатся лишь имена героев. Чтобы мне получить URL картинки героя (для src), я должен отправить запрос на сервер и запросить URL картинки героя по его имени. Хранить именно сами URL нет возможности, они не статичные.
Дмитрий Михальцов, сделайте computed свойство из rank. в нем циклом проходитесь и добавляете новое Поле src и на каждой итерации делаете запрос и результат пишите в это поле
Потому, что цикл v-for синхронный. Он получает от вашей функции ответ (промис) и выводит его. Он не смотрит что это за ответ и никак его не изменяет (Не дожидается промиса).