VUX中XImg组件加载图片不正确,BusPlugin不好使,求解

问题描述

使用vux中的XImg组件, 偶尔加载不出来最终想要的图片src,而是呈现default-src

我的代码实现

  1. import vux自定义的BusPlugin不太好使(它没有在vue原型上注册$vux.bus, 模版实例中用this.$vux.bus来引用不行,自己又不会配置),于是这里在main.js中仿照vux的写法自己定义了一个bus

<x-img default-src="http://dev.hotkidclub.com/ceo/static/images/loading.png" src="http://www.hotkidclub.com/res/ceo/product/template/118/banner_1510301402507.jpg" width="100%"></x-img>
/* bus plugin */
const bus = new Vue({})
Vue.prototype.$vux = {
  bus: bus
}
Vue.use(bus)
  1. 在自己的模版页面中调用方法(包括在mounted钩子和API接口请求回调里面都有试过)

this.$vux.bus && this.$vux.bus.$emit('vux:after-view-enter')
  1. 我敢确认我的触发器执行了,但是没卵用,手机上不停的刷新当前页面,依旧会出现default-src(pc端出现的几率极小)。连on-success, on-error都没有触发。

  2. 更有趣的问题来了,试一试在created钩子里加一个定时器,原本呈现正确的src,3秒后变成了default-src。附上代码和截图以及打印的日志

![![图片描述
图片描述
图片描述

setTimeout(() => {
    this.$vux.bus && this.$vux.bus.$emit('vux:after-view-enter')
 }, 3000)

请求援助

小弟不才实在不知道该如何处理,不知道可有哪位前辈跨过了这个坑。还请解答指教一番,谢谢了。挺喜欢这个懒加载的,实在不行可能得换一个组件了

阅读 6.6k
1 个回答
新手上路,请多包涵

$vux.bus && $vux.bus.$emit('vux:after-view-enter')

我也是找了半天没找到 他在哪里注册的$vux 郁闷了

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