问个vant ImagePreview 的问题

在vant2中,有个图片预览的组件ImagePreview
文档描述

我用在我的项目中,死活报错:ImagePreview is not defined

我直接在main.js中引入了
.....
import { ImagePreview } from 'vant';
Vue.use(ImagePreview);
.....

然后在我的vue页面中

methods: {
            previews(img) {
                ImagePreview([

报错,找不到ImagePreview函数。

必须把import { ImagePreview } from 'vant';这个写到这个vue页面中,发现才能使用。
为何不能直接写到main.js中?

阅读 4.3k
1 个回答

你在vue页面中直接调用ImagePreview,那么你vue页面中和全局都没有这个函数,可不就报错了吗。

ImagePreview是一个函数,他不是一个组件,所以不能用Vue.use(ImagePreview);的方式去挂载,你需要Vue.prototype.ImagePreview = ImagePreview,这样在组件中再以this.ImagePreview的方式调用,或者把ImagePreview挂载到window上

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题