vue组件中重新渲染的3种方式

这篇具有很好参考价值的文章主要介绍了vue组件中重新渲染的3种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vue组件中重新渲染的3种方式

改变key

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

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

  • <template>
      <div class="home">
        <el-button @click="freshKey">test</el-button>
        <aComp :key="key"></aComp>
      </div>
    </template>
     
    <script>
    import aComp from '@/components/aComp'
    export default {
      components: {
        aComp
      },
      data () {
        return {
          key: 0
        }
      },
      methods: {
        freshKey () {
          this.key++
        }
      }
    }
    </script>

v-if

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

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

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

vm.$forceUpdate()

  • 这个方法用的不多,是强制更新视图。文章来源地址https://www.toymoban.com/news/detail-650434.html

到了这里,关于vue组件中重新渲染的3种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp转小程序 子组件中修改了父组件传过来的数据,子组件没有重新渲染

    昨天在开发中遇到了一个问题,在小程序中没有渲染,而在h5中是有渲染出来的。在小程序中,数据确确实实也是通过接口获取到了,也储存到了对应的字段里面。并且在子组件中监听了父组件传过来的数据,就是只渲染了一次,困惑了很久。对应的是最近使用的数据   因此

    2024年02月15日
    浏览(34)
  • Vue dialog打开时重新渲染

    目录 HTML、CSS和JavaScript基础 1. HTML标记语言: 2. CSS样式: 3. JavaScript编程语言: 基础开发技能 学习Git 了解HTTP(S)协议 学习终端 算法和数据结构 学习设计模式 JavaScript框架和库 1. jQuery: 2. Bootstrap: ES6+和模块化开发 1. ES6+新特性 2. 模块化开发 3. 常用构建工具 React基础概念 1

    2024年02月12日
    浏览(38)
  • vue中data的数组怎么操作会重新渲染页面,怎么操作不会渲染页面

    目录 会渲染页面的操作 这是为什么呢 不会导致页面渲染的操作  通过索引值改变数组导致页面不渲染的解决方法 this.$set的实现原理 push() pop() shift() unshift() splice() sort() reverse() vue2.0还增加个方法可以观测Vue.set(items, indexOfItem, newValue) Vue.set()的用法 filter(), concat(), slice() 。这些

    2024年01月16日
    浏览(31)
  • vue - 动态绑定ref(使用变量)以及获取方式,解决v-for循环嵌套自定义子组件时无法this.$refs.xx找到动态组件的情况(详细示例教程)适合 vue.js nuxt.js uniapp

    正常情况,我们需要在vue中获得某个dom或者组件,我们会通过绑定 ref 然后通过绑定后的名字来获取这个dom 。 但是,如果我们在v-for中绑定ref的话,那么这个ref就会存在多个,比如我们点击事件让对应的显示/隐藏的话,我们很难找到这个对应的元素。 那么,这时我们需要动

    2024年02月13日
    浏览(39)
  • vue 解决el-table 表体数据发生变化时,未重新渲染问题

     父组件中数量改变后总数重新计算 父组件代码  WmsTable 是子组件名  WmsTable 中的数量字段quantity修改时重新计算合计

    2024年01月20日
    浏览(27)
  • 项目开发之vue中如何刷新子组件,重置组件,重新加载子组件

    在父组件循环数据列表中,列表中有事件点击打开某个子组件; 父组件中要更新子组件的值 在父组件循环数据列表中,点击打开某个子组件,A数据打开子组件后,B数据再打开子组件,此时子组件中会有缓存A数据。 子组件没有刷新,还是停留在上一个数据缓存 给组件添加

    2024年02月12日
    浏览(35)
  • $nextTick与原生js先渲染dom再执行函数的方式

    前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的。包括语音识别、机器翻译等从基础到实战都有,很详细,分享给大家。大家及时保存,说不定啥时候就没了。 简述 Vue.js 的 $nextTick 方法是用于在 DOM 更新后执行延迟回调的方法 。 当 Vu

    2024年02月05日
    浏览(20)
  • 清除引入js缓存,vue切换页面重新加载

    require引入的js require.cache删除js缓存

    2024年02月16日
    浏览(41)
  • Vue.js 中的服务端渲染和客户端渲染的区别

    Vue.js 是一个流行的前端框架,它提供了一种简单而强大的方式来构建交互式用户界面。Vue.js 可以在客户端和服务端执行渲染,这两种方式有不同的优势和劣势。本文将介绍 Vue.js 中的服务端渲染和客户端渲染的区别,并附上代码示例。 在传统的客户端渲染模式下,Vue.js 代码

    2024年02月08日
    浏览(63)
  • Cisco路由基础:双线策略路由的三种实现方式总结+端口映射

    参考了下网上关于电信+网通双线策略路由的帖子,并结合实际环境,将实现双线策略路由的几种方式总结如下,希望对有需要的朋友有所帮助,双线比单线要复杂多了,但把策略路由的原理弄明白了,就会发现其实并不难。 服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.1

    2024年02月07日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包