0

現在、Vue Router を使用してクライアント側の Vue JS アプリを作成しています。ちょっとした歴史を紹介するために、アプリはサーバーに保存されている json ファイルを読み込んでデータを表示します。このファイルは定期的に更新されるため、ファイルを再読み込みしてビューを更新したいと考えています。

データ ファイルのフェッチを無視して (このビットは問題ありません)、新しいデータ フェッチを設定し、基本の Vue の例を使用してデータを更新すると、期待どおりに動作します。

しかし、Vue Router を導入すると、目に見える更新データが表示されません。結果 (および router/ vueconsole.logインスタンスでさえも) を使用すると、新しいデータの変更が明らかになりますが、HTML は変更を反映するように更新されません。

私はVue 2(かなり新しい)を使用しており、すべてのドキュメント/例は、ページナビゲーションのデータを更新し、ノードを使用することを示しています(これは行っていません)。

私がやっていることの基本的なプロセスで、単純な JS ビンをモックアップしました。newData配列で、最初のアイテムの名前とパーセンテージが変更されていることがわかります。

http://jsbin.com/jeseden/edit?js,出力

どんな助けでも大歓迎です。

4

2 に答える 2

0

コードはListingCompoコンポーネントのように機能せず、データを初期化していますが、その後の変更を認識していません。変更を後で反映させるには、親データにウォッチャーを配置するか、単に親データが変更されるたびに変更される計算されたプロパティを用意する必要があります。

var ListingCompo = {
    template: '#template',
    data: function () {
        return {            
        }
    },
    computed: {
      records(){
        return  this.$parent.records
     }      
   }
};

ワーキングjsbin

于 2016-11-22T04:37:14.160 に答える