Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[vue] 怎么解决vue动态设置img的src不生效的问题? #553

Open
haizhilin2013 opened this issue Jul 2, 2019 · 13 comments
Open
Labels
vue vue

Comments

@haizhilin2013
Copy link
Collaborator

[vue] 怎么解决vue动态设置img的src不生效的问题?

@haizhilin2013 haizhilin2013 added the vue vue label Jul 2, 2019
@chenqim
Copy link

chenqim commented Jul 3, 2019

<img :src="require('../../../assets/images/xxx.png')" />

@llccing
Copy link

llccing commented Jul 4, 2019

这里还可以产生一个问题,为什么Vue中给img标签设置src属性会不生效

@Wu-wb
Copy link

Wu-wb commented Jul 12, 2019

因为动态添加src被当做静态资源处理了,没有进行编译,所以要加上require。

@Miboweixin
Copy link

<img :src="require('../../../assets/images/xxx.png')" />

不是应该 require('@/assets/images/xxx.png') 这样吗??你这样多浪费资源啊 @chenqim

@iugu516
Copy link

iugu516 commented Sep 3, 2019

require('@/assets/images/xxx.png')

@chenqim
Copy link

chenqim commented Sep 3, 2019

<img :src="require('../../../assets/images/xxx.png')" />

不是应该 require('@/assets/images/xxx.png') 这样吗??你这样多浪费资源啊 @chenqim

学到了

@Linkontoask
Copy link

这个 issues 不明确,这个应该属于打包工具范畴,和 Vue 没多大关系。可以用一个很简单的例子证明,直接用 script 的形式引入vue,然后更改src的值看能不能访问,麻烦你们弄清楚其中的原理再来解决问题

@wush12
Copy link

wush12 commented Nov 5, 2019

这个应该和vue没关系把,图片,需要改变的时候,就切换src啊

@mingyec
Copy link

mingyec commented Mar 28, 2020

@chenqim 实际中并不需要这样,直接在src里面写@/assets/xxx.png即可(前提是你的项目通过vue-cli生成或配置了file-loader)

@FL-Yf
Copy link

FL-Yf commented May 27, 2020

用require()引入

@aatoe
Copy link

aatoe commented Aug 18, 2020

这个 issues 不明确,这个应该属于打包工具范畴,和 Vue 没多大关系。可以用一个很简单的例子证明,直接用 script 的形式引入vue,然后更改src的值看能不能访问,麻烦你们弄清楚其中的原理再来解决问题

为什么不把自己的思路说出来呢?不应该是提出问题,解决问题吗?

@crush2020
Copy link

因为动态添加src被当做静态资源处理了,没有进行编译,所以要加上require。
<img class="logo" :src="require("./../assets/images/logo.png")" alt="公司logo">

@xl495
Copy link

xl495 commented Jun 22, 2021

这个问题应该是指 vue 这种情况吧

<img :src="name" />

data(){
return {
name: ''
}
}

用 this.$set

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
vue vue
Projects
None yet
Development

No branches or pull requests