vue3动态引入assets图片使用new URL警告Invalid prop: type check failed for prop "src". Expected String with value
时间: 2024-08-15 16:09:09 浏览: 81
2020-web前端-vue项目出错-[Vue warn]: Invalid prop: custom validator check failed for prop “index”.
5星 · 资源好评率100%
在Vue3中,当你尝试通过`new URL()`的方式动态导入assets图片,并将其赋值给组件的`src`属性时,可能会收到"Invalid prop: type check failed for prop 'src'. Expected String with value"这样的警告。这是因为`src`通常期望的是字符串类型的URL,而`new URL()`返回的是一个`URL`对象。
解决这个问题,你需要将`new URL()`的结果转换成字符串形式。例如:
```javascript
// 动态获取图片路径
const imgUrl = new URL('/assets/image.jpg', import.meta.url);
// 转换为字符串并设置到src上
this.src = imgSrc.toString();
```
在这里,`import.meta.url`会提供当前模块的URL,然后我们使用`.toString()`方法将其转换为字符串。记得在模板中绑定这个`src`变量,而不是直接使用`imgUrl`。
阅读全文