问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VUE DOM加载后执行自定义事件的方法

发布网友 发布时间:2022-03-25 04:36

我来回答

1个回答

热心网友 时间:2022-03-25 06:06

最近想用vue做一个小东西,谁知道一开始就遇到了一个棘手的问题:
首先我想在页面加载前通过ajax请求页面展示所需要的信息,于是我在created钩子函数里面请求了我想要的数据
created:function(){
var
url="/indexitem";
var
_self=this;
$.get(url,function(data){
_self.items=data;
});
$.get('/banner',function(data){
_self.banners=data;
});
}
这一步很顺利,接下来就是要将数据绑定到对应的元素中,我在这里需要将请求得到的图片地址绑定到轮播图对应的元素中,
我这里采用的是mui框架中提供的图片轮播(移动端,支持手势滑动),问题恰恰就这里:
<div
id="slider"
class="mui-slider"
@click="greet()">
<div
class="mui-slider-group
mui-slider-loop">
<div
class="mui-slider-item
mui-slider-item-plicate"><a
href="#"
rel="external
nofollow"
rel="external
nofollow"
rel="external
nofollow"
:style="{backgroundImage:
'url('
+
banners[banners.length-1].src+
')',backgroundSize:'cover'}"></a></div>
<div
class="mui-slider-item"
v-for="cc
in
banners"><a
href="#"
rel="external
nofollow"
rel="external
nofollow"
rel="external
nofollow"
:style="{backgroundImage:
'url('
+
cc.src+
')',backgroundSize:'cover'}"></a></div>
<div
class="mui-slider-item
mui-slider-item-plicate"><a
href="#"
rel="external
nofollow"
rel="external
nofollow"
rel="external
nofollow"
:style="{backgroundImage:'url('+banners[0].src+')',backgroundSize:'cover'}"></a></div>
</div>
<div
class="mui-slider-indicator">
<div
class="mui-indicator
mui-active"></div>
<div
class="mui-indicator"></div>
<div
class="mui-indicator"></div>
<div
class="mui-indicator"></div>
</div>
</div>
我绑定完数据之后,发现轮播图失效了,因为我之前用原生js写的时候遇到过同样的问题,我当时的解决办法是等页面加载完成后重新进行滑动初始化,但是今天用vue我蒙了,试了很多生命周期函数也无法确保在页面加载完成后进行初始化。
vue.js更多的希望是通过数据绑定来代替直接通过dom操作,而vue并没有提供渲染完成的钩子。
所以我今天的解决办法是:setTimeout()
在实例化VUE对象后添加下面代码:
setTimeout(function(){
console.log($('#slider').length);
var
gallery
=
mui('.mui-slider');
gallery.slider({
interval:
3000//自动轮播周期,若为0则不自动播放,默认为0;
});
},1000);
以上这篇VUE
DOM加载后执行自定义事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:Vue自定义事件(详解)浅谈Vue.js
组件中的v-on绑定自定义事件理解Vue.js自定义事件的表单输入组件方法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
狗患肠炎怎么治 狗狗结肠炎症状及治疗(便秘性结肠炎的症状及治疗) 【干货】如何翻译商务英语中的数词 一年级数量词组成的短语 abs和pp材质食用哪个好 abs塑料是食品级的吗 食品级abs塑料宝宝可以用吗 把实际长度扩大400倍后画在图纸上,比例尺是400:1.___(判断对错) 原来图纸的比例尺是1:1000000,把图纸放大16倍新图的比例尺是多少? 把实际长度扩达400倍后画在图纸上,比例尺是1:400? ( ) 对或错 把实际距离缩小500倍后画在图纸上,比例尺为500:1.___.(判断对错) Vue.工程目录下设置自定义指令在哪设置 vue 自定义标签 vue路由怎么自定义事件 vue.js 自定义属性 vue中自定义指令是通过什么属性实现 vue如何动态调用方法 vue 自定义全局方法,在组件里面的使用介绍 老公给我开了亲密付,我付款时候怎么看不到亲密付的选项呢 支付宝的亲密付在哪里设置? 如何取消亲密付 微信亲属卡是什么,都有什么功能? 亲密付有没有被取消在哪里看 微信亲属卡支付范围有哪些? 微信亲密付额度不够怎么提 亲密付在哪里? 充电速度太慢了,要怎么办 黑鲨3s为什么关机充电不加? 手机充电速度慢怎么办? 手机充电速度特别慢该怎么解决? 小米黑鲨永别的充电器为什么很慢? Vue2.x Todo之自定义指令实现自动聚焦的方法 创建Vue项目之前需要做哪些准备工作?Vue项目如何创建?指令是什么?并对指令解 vue中v-for怎么获取长度? vuejs的组件化开发中怎么自定义class覆盖原有样式? vue 中自定义指令改变data中的值 vue自定义指令,实现添加该指令可以将传入的数据进行拆分后求和的操作,比如[1,2,3],使用指令和为6? vue 每一条信息代表一个组件 vue 自定义v-model的组件 修饰符无效,需要改怎么做! 微信扫二维码黑屏怎么回事 微信扫码为什么是黑屏 微信付款码怎么变成黑色 iphone12微信扫码黑屏? 微信扫码打开是黑的什么也看不见为什么? 苹果微信扫码黑屏怎么回事 微信二维码打开是黑的怎么回事 苹果手机微信扫码黑屏但权限已经开启了,是什么原因? 微信二维码太黑看不到 iOS13.3有些什么新功能? 苹果系统IOS13.3有什么特点? IOS13.3.1系统更新了哪些内容?