• vue1和vue2获取dom元素的方法 及 nextTick() 、$nextTick()


    vue1.*版本中

    在标签中加上el='dom',然后在代码中this.$els.dom这样就拿到了页面元素

    例如:<div class='box' el='myBox'>你好</div>

    让你好的颜色显示为红色:this.$els.myBox.style.color = 'red'

    vue2.*版本中

    在标签中加上ref='dom',然后在代码中this.$refs.dom这样就拿到了页面元素

    例如:<div class='box' ref='myBox'>你好</div>

    让你好的颜色显示为红色:this.$refs.myBox.style.color = 'red'

    注:

    可以用 $nextTick 来确保 Dom 变化后再执行一些事情:

    <ul ref="nav">
    	<li>1</li>
    	<li>2</li>
    	<li>3</li>
    </ul>
    
    this.$nextTick( () => {
    	this.$refs.nav.children[0].style.color = 'red';
    })

    vue2.0$nextTick监听数据渲染完成之后的回调函数

    vue里面本身带有两个回调函数:

      一个是`Vue.nextTick(callback)`,当数据发生变化,更新后执行回调。


      另一个是`Vue.$nextTick(callback)`,当dom发生变化,更新后执行的回调。

    例子:

    <ul id="demo">
        <li v-for="item in list">{{item}}</div>
    </ul>
    
    new Vue({
        el:'#demo',
        data:{
            list=[0,1,2,3,4,5,6,7,8,9,10]
        },
        methods:{
            push:function(){
                this.list.push(11);
                this.nextTick(function(){
                    alert('数据已经更新')
                });
                this.$nextTick(function(){
                    alert('v-for渲染已经完成')
                })
            }
        }
    })

    .

  • 相关阅读:
    Hexo+Github搭建个人博客手记
    如何在Github上部署Hexo个人博客
    测试计划与测试方案的区别
    软件测试流程
    Python笔记-List和Tuple类型
    键盘无响应-如何修复键盘注册表
    正向代理与反向代理-小故事
    解决git连接github超时问题
    如何防范短信接口被恶意调用(被刷)
    接口测试基础篇
  • 原文地址:https://www.cnblogs.com/crazycode2/p/7691087.html
Copyright © 2020-2023  润新知