首頁 >web前端 >Vue.js >vue如何實現局部刷新? (程式碼範例)

vue如何實現局部刷新? (程式碼範例)

青灯夜游
青灯夜游轉載
2020-10-30 17:52:513801瀏覽

vue如何實現局部刷新? (程式碼範例)

我們都知道,vue的元件化是他最強大的核心所在,路由也是特別可愛的一部分,但是路由適合一些大型的元件,看url路徑的時候會出現變化,但是有時候我們想要一些小的局部小刷新,這個時候就需要用到它的動態元件了。

Vue 本身保留的  元素,可以將元件動態綁定到 is 特性上,因此很方便的實作動態元件切換

程式碼如下:slotDome.vue:

<template>
  <div>
    <slot></slot>
    <slot name="wise"></slot>
 
    <el-radio-group v-modal="tabView">
      <el-radio-button label="simple1" @click="toSim(1)">
        <button>页面一</button></el-radio-button>
      <el-radio-button label="simple2" @click="toSim(2)"><button>页面二</button>
      </el-radio-button>
    </el-radio-group>
    <keep-alive>
      <component :is="tabView"></component>
    </keep-alive>
  </div>
</template>
<style rel="stylesheet/stylus">
  el-radio-button
    &:hover
      cursor pointer
</style>
<script>
  import simple1 from "./simple/simple1.vue";
  import simple2 from "./simple/simple2.vue";
  export default{
    data(){
      return {
        tabView: "simple1"
      }
    },
    methods: {
      toSim(index){
        this.tabView = `simple${index}`;
      }
    },
    components: {
      simple1,
      simple2
    }
  }
</script>

simple1.vue:

<template>
  <div>
    这是页面一
    <input type="text">
  </div>
</template>

simple2.vue:

<template>
  <div>
    这是页面二
    <input type="text">
  </div>
</template>

上例中,當tabView 的值改變, 就會渲染對應的元件,和路由的效果十分類似,但是網址列並沒有改變

但這樣一來,每次切換元件都會重新渲染,無法保留元件上的資料。這時可以使用 keep-alive 將元件保留在記憶體中,避免重新渲染

頁面效果如下:

vue如何實現局部刷新? (程式碼範例)

相關推薦:

2020年前端vue面試題大匯總(附答案)

vue教學推薦:2020最新的5個vue.js影片教學精選

更多程式相關知識,請造訪:程式設計入門! !

以上是vue如何實現局部刷新? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除