1

使用带有道具的 v-parallax vuetify 来显示资产 URL(这是推荐的 hack..)

 <v-parallax :src="parallaxUrl()">

 methods: {
    parallaxUrl() {
      return require("@/assets/images/hero.jpeg");
    },

我得到正确显示的图像,但运行 test:unit ,我也得到一个警告,因为 v-parallax 需要一个字符串而不是一个对象......测试正确通过(它只是一个警告..),但是在那里摆脱这个警告的方法?

感谢您的反馈

4

2 回答 2

0

测试 .default :

return require("@/assets/images/hero.jpeg").default;
于 2021-12-11T21:42:27.000 回答
-2

当您需要一个文件时,它会返回该文件的数据内容。对于图像,它返回一个 Blob 对象。并且由于 v-parallax 中 src 属性的定义声明 src 的值应该是一个字符串(图像的路径),Vue 会抛出该警告消息。

要删除警告消息,您可以更新srcv-parallax 的定义以同时接受对象和字符串。

props: {
  src: [String, Object]
}

或者

您可以返回图像的路径,而不是返回图像中的数据。

<v-parallax :src="parallaxUrl()">

methods: {
  parallaxUrl() {
    return "./assets/images/hero.jpeg"
  },
}

https://vuejs.org/v2/guide/components-props.html#Prop-Types
https://webpack.js.org/guides/asset-management/

于 2018-08-25T07:25:02.540 回答