vue.js がカスタム命令を通じてデータのプルと更新を実装する方法

高洛峰
リリース: 2017-01-12 13:38:43
オリジナル
1497 人が閲覧しました

前書き

この記事のコード スニペットは、vue の単一ファイル コンポーネント、つまり .vue で終わるファイルにあります。この記事では、唯一の方法でも最良の方法でもありません。もっと良い方法がある場合は、メッセージを残してください。それについて話し合います。

ステップ 1

まず、必ず変数を定義してください:

// app.vue <script>
 
data () { 
  return {
   // 定义 getData
   getData:{},
   // 定义自定义指令的绑定值
   ifUpdate:true
  }
}
ログイン後にコピー

ステップ 2

次に、ajax を使用したい場合は、グローバルに使用できるように、index.html に jquery を導入する必要があります。 :

// index.html
 
<script type="text/javascript" src="./lib/js/jquery-2.1.1.min.js"></script>
ログイン後にコピー

3 番目のステップ

次に、コンポーネントがインスタンス化された後、カスタム命令内のメソッドが自動的に実行されます。

コンポーネントがインスタンス化された後、初期値 ifUpdate が実行されます。カスタム命令 initData のメソッドが一度呼び出され、その後パラメータ値 ifUpdate が変更されるたびに initData 関数が再度呼び出されます。パラメータは ifUpdate の新しい値と古い値です。

// app.vue <template>
 
// 在页面节点(自由选择)中绑定自定义指令
<div v-initData="ifUpdate" ></div>
ログイン後にコピー
// app.vue <script>
 
// 定义自定义指令
directives:{
  initData:function(val, oldVal){
   if(!val){
    return;
   }
   var self = this;
   $.getJSON( "ajax/test.json", function( data ) {
     self.vm.getData = data;
   });
   // 下次 ifUpdate 值更新为 true 时就会再次使用上面的 ajax 去获取数据
   self.vm.ifUpdate = false;
  }
}
ログイン後にコピー

使用シナリオの説明

ユーザーがコメントした後、コメントリストを更新します:

初めてコメントデータを取得した後、ifUpdate を false に変更します

ユーザーがコメントを追加した後、データを転送しますバックグラウンドに戻し、ifUpdateをtrueに変更します

ifUpdateの変更に基づいてコマンドがトリガーされ、再びajaxを介してバックグラウンドからデータをプルします

プル後、ifUpdateをfalseにリセットします

概要

上記が内容全体ですこの記事の内容が皆さんにとって vue.js の学習や使用に役立つことを願っています。ご質問がある場合は、メッセージを残して連絡してください。

vue.js がカスタム命令を通じてデータのプルと更新を実装する方法に関する関連記事については、PHP 中国語 Web サイトに注目してください。

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