100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 浅谈vue组件中怎么重新渲染?3种方式分享

浅谈vue组件中怎么重新渲染?3种方式分享

时间:2018-09-22 02:46:46

相关推荐

浅谈vue组件中怎么重新渲染?3种方式分享

web前端|Vue.js

vue组件,重新渲染

web前端-Vue.js

vue组件中怎么重新渲染?下面本篇文章就来给大家总结分享vue组件的重新渲染的几种方式,希望对大家有所帮助!

qq隐身查看器源码,vscode扩展破解,ubuntu安装stk11,tomcat路径修改,sqlite3 ansi,网页选择日期插件,查看网站前端框架,网络爬虫抓包,用户注册PHP,南阳最好的seo,带有站群的网站源码,网页鼠标跟随js,分享dz模板下载,系统登陆页面psd,企业管理系统php,java定义atm模拟程序lzw

计算机串口控制 源码,ubuntu 之间怎么远程,tomcat命令让窗口挺住,amazon爬虫选品,php java 开源,seo优化中的四个错误lzw

最近遇到一个需求,就是得把当前的组件重新渲染。这个好办,通知父组件去重新渲染就行。

android彩票选号源码,vscode 关闭复杂度,荣耀手机Ubuntu,tomcat 请求线程池,证券之星爬虫,向下取整函数 php,丽水seo全网营销价格,网站源代码破解下载链接,旅行社模板下载lzw

下面我把我知道的vue组件的重新渲染的几种方式总结一下。

改变key

这个是最推荐的。

因为vue是通过虚拟Dom算法来判断元素的变化,是否变化的核心是通过判断新旧元素的key值是否变化。如果你的key是变化的,则重新渲染该元素,如果key没变,则不会重新渲染。

所以如果你想让你的组件重新渲染,你给组件加上key属性,然后在需要重新渲染的时候,改变key的值就行。

test

import aComp from @/components/aCompexport default { components: { aComp }, data () { return {key: 0 } }, methods: { freshKey () {this.key++ } }}

v-if

我们用的指令中,v-if也是比较多的。

当你设置为false的时候,当前条件块里包含的元素会被销毁,如果包含的是组件,则组件对应的生命周期函数(beforeDestroydestroyed等)会执行。

当你设置为true的时候,当前条件块里的元素会被重建,如果包含的是组件,则组件对应的生命周期函数(createdmounted等),计算属性,watch等会执行,相当于重新渲染。

vm.$forceUpdate()

这个方法用的不多,是强制更新视图。

但是vue是双向绑定的,数据变化,视图也会实时刷新,什么情况下会用到这个方法呢?

比如vue只针对数组的这些方法会刷新视图:

push()pop()shift()unshift()splice()sort()reverse()

所以比如你对数组的某个值重新赋值的时候,vue是不会刷新视图的。 那么你就可以用这个方法来强制刷新视图。

export default { data () { return {arr: [1, 2, 3] } }, methods: { editArr () {this.arr[0] = 0 // 视图不会刷新 }, forceUpdate () {this.$forceUpdate() // 调用这个方法会刷新视图 } }}

编程入门!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。