#image #vue.js #src #quasar
#изображение #vue.js #Src #quasar
Вопрос:
Я думал, что это будет проще сделать, но застрял с этим. Концепция заключается в том, что у меня есть ящик (компонент mainLayout), в который включено изображение. То, что я пытаюсь сделать, это на разных страницах показывать разные изображения внутри ящика.
Вот ящик:
<q-drawer
width="200"
show-if-above
behavior="desktop"
bordered
>
<!-- The Image-->
<q-img
alt="Portfolio Image"
width="100"
height="100"
class="absolute-bottom-left"
:src="pic"/>
<!-- End Image-->
</q-drawer>
Ну, мне это понравилось, но это не работает
data () {
return {
pic: '~assets/drawer/wbPortfolio.png',
}
},
watch: {
'$router.name': function(){
if(this.$route.name === 'main')
this.pic = '~assets/drawer/wbPortfolio.png';
if(this.$route.name === 'resume')
this.pic = '~assets/drawer/wbPortfolio2.png';
}
}
Я получаю сообщение об ошибке как
ПОЛУЧИТЬ http://localhost:8081 /~активы/ящик/wbPortfolio.png [HTTP/1.1 404 не найден 2 мс]
И, очевидно, изображение не отображается.
Я предполагаю, что src считает, что это url. Итак, я должен сделать все изображения в виде URL-адресов? Или есть другое решение?
Ответ №1:
В Webpack относительный путь к изображению рассматривается как зависимость от модуля. Итак, что вам нужно:
this.pic = require(`../assets/drawer/wbPortfolio.png`);