vue は部分的な更新をどのように実装しますか? (コード例)

青灯夜游
リリース: 2020-10-30 17:52:51
転載
3746 人が閲覧しました

vue は部分的な更新をどのように実装しますか? (コード例)

Vue のコンポーネント化が最も強力なコアであり、ルーティングも特に重要な部分であることは誰もが知っています。ただし、ルーティングは一部の大規模なコンポーネントに適しています。URL パスを見ると、変更が発生しますが、場合によっては小さなローカル更新が必要になることがあります。このときは、動的コンポーネントを使用する必要があります。

Vue 自体が保持する 要素は、コンポーネントを is 属性に動的にバインドできるため、動的なコンポーネントの切り替えを便利に実現できます。 # #

<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 の値が変更されると、 は対応するコンポーネントをレンダリングし、ルート 効果は非常に似ていますが、アドレス バーは変更されていません。

しかし、この方法では、コンポーネントが切り替わるたびに再レンダリングされ、コンポーネント上のデータを保持できなくなります。現時点では、キープアライブを使用してコンポーネントをメモリ内に保持し、再レンダリングを避けることができます。

ページの効果は次のとおりです:

vue は部分的な更新をどのように実装しますか? (コード例)関連する推奨事項:


2020 フロントエンド vue インタビューの質問の概要 (回答付き)

vue チュートリアルの推奨事項: 2020 年の最新 5 つの vue .js ビデオ チュートリアルのセレクション

プログラミング関連の知識については、

プログラミング入門
をご覧ください。 !

以上がvue は部分的な更新をどのように実装しますか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
vue
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート