Vant和Jq同时使用的坑

背景

最近使用vant的网页版,实现一个简单的APP,奈何Vue学的一般,有些地方需要使用Jquery来进行数据处理,Vue只做vant样式的渲染使用。

无法通过类名直接获取元素

使用Vue渲染出来的span标签无法通过jquery获取到,即使你添加了$(function(){})或者document.ready
在这里插入图片描述
后面我用同样app下的按钮绑定了点击事件竟然成功获取到了上面获取不到的数据了
在这里插入图片描述
那猜测就一定是Vue渲染在后面,怎样捕获呢,那就是Vue的声明周期,最开始在methods调用了updated方法,一直没有出现,把自己坑哭了,后面发现方法要写到methods同级,并且还不是updated是created里面,
在这里插入图片描述

找不到函数

在created里面需要使用到一个 watch_order_time 函数,我把他放在methods中,竟然找不到,一想也是这时候要啥自行车,现在还处于渲染阶段,哪来的函数给你用。后面直接放到script的根上,才找了。

使用jq赋值,vue强制渲染不生效

终于把数据弄好了,该来的也来了,把倒计时重新渲染回去吧,
在这里插入图片描述
最开始直接使用jq赋值,页面不生效,使用jq重新获取值都是赋值以后最新的了,但是页面不刷新,一想肯定又是Vue没渲染,那想起之前用的强制刷新,_vue_this.$forceUpdate();上,结果又是一场空。后面想到了,Vue是面向组件的,刷新的应该是组件或者data里面定义的值,你用jq改了值,人家也不知道啊,于是想到了一个很骚气的办法,php和vue一起使用,值我还是用vue绑定,只是借助了php的索引,达到效果。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/abc8125/article/details/115426793
今日推荐