Пришло от этого вопроса пользовательский маркер для vue2-google-maps
У меня есть маркеры, поступающие с конечной точки, и я добавляю маркеры на created()
компонента Vue
<gmap-marker :key="i" v-for="(m,i) in markers" :position="m.position" :clickable="true" @click="toggleInfoWindow(m,i)" :icon="{ url: require('./online.png') }"></gmap-marker>
m
имеет такое значение
{
infoText: "synno-hlcna",
position: {
lat: 53.3600171,
lng: -6.2630125
},
status: "online"
}
Как я могу использовать значение m.status
в require()
.
Я попытался добавить полное значение { url: require('./online.png') }
через m.url
, а также просто require(m.url)
и URL был './online.png', он выдал ошибку, так как
модуль не найден ./online.png
Я хочуизменить цвет колышка на основе статуса.Мне нужно pngs, онлайн / офлайн в соответствии с m
.
Как это возможно связать значение в require ('./ {status} .png'), чтобы оно могло работать?
Я также пробовал этот способ
: icon = { url: require('./${m.status}.png') }
ОБНОВЛЕНИЕ: Я пытался использовать v-bind, например
<gmap-marker :key="i" v-for="(m,i) in markers" :position="m.position" :clickable="true" @click="toggleInfoWindow(m,i)" v-bind:icon="{ url: require(m.status) }"></gmap-marker>
, его ошибка выдачи какCannot find module './online.png'
Как мы можем заставить это работать?это работает, только если я сам поставлю ./online.png
.