vue动态添加domv-for

vue动态添加domv-for,第1张

v-for是vue.js中的指令,用于遍历数组或对象中的数据,动态添加dom。使用v-for指令时,需要提供一个数组或对象,它会根据提供的数据来渲染相应的dom结构。v-for指令的语法是:v-for="(item,index) in items",其中items是要遍历的数组或对象,item是当前遍历到的元素,index是当前遍历到的元素的索引。使用v-for指令可以快速的渲染出dom结构,而不用写大量的dom结构代码。

没理解你的提问,你的重点是each还是 *** 作动态添加的DOM?

关于 *** 作动态添加的DOM,需要用delegate或on来进行事件绑定,动态添加的DOM元素也同样绑定了该事件,原理就是事件代理,即事件冒泡。

<div class="container">

    <ul class="list-wrap">

        <li class="item">1</li>

        <li class="item">2</li>

        <li class="item">3</li>   

    </ul>     

</div> $('.container').delegate('.item','click',function(){

    handler()//执行函数

})

3. 如果必须用each来 *** 作,可以使用自定义事件,当添加新DOM之后,trigger('event_name')即可。在绑定自定义事件时的handler执行函数逻辑中使用each即可。只有dom插入页面后,才能获取到该元素

1、func1中涉及到了页面dom元素的 *** 作,如果不放在onload事件中而是直接运行,那么这时候页面的dom元素(比如ul)极可能尚未加载到内存,会造成 *** 作失败。放在onload中,则可百分百保证整个页面的dom结构都已加载到内存,这样就能保证运行成功了。

2、alert()是系统级的模态提示框,它在显示的时候,整个脚本都会暂停运行(或者叫“挂起”),关闭提示框后才会继续运行。也就是说,表面上看func2是比func1先运行的,但其实func1确实是先运行的,但即使电脑的运行速度再快,运行总是要花时间的,而就在func1努力运行但尚未显示出结果时,func2的alert已经d出来并把整个脚本暂停了,这样func1就僵在那了,看起来就好像是它还没运行一样。

3、没有完美的解决办法,要么你可以自建一个非模态的提示框,要么可以采用延时执行的方式,比如:

window.onload=function(){

    func1()

    setTimeout(func2,100)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11519186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存