2017-10-26 7 views
1

は私が2.5.4にバージョン0.11から書いていない古いスクリプトを移行していると私が言って警告取得しています:交換してください。この$のはevalを

を(「reportData | reportFilter偽」)それは実際に使用していないよう 詳細情報VMの$ evalが削除されました、::資産/のJS /カスタムreports.js 理由:ソリューションは、通常のJavaScript ライン327を使用してhttp://vuejs.org/guide/migration.html#vm-eval

を私は見ることができますコード内でこれらの値を設定する:

0ここで起こっていただきました!

var data = this.$eval('reportData | reportFilter false'); 

は、誰もが任意のアイデアを持っていると私は、これは新しい方法で動作するように書き直すことができる方法: そして、ここではそれらを使用していますか?

答えて

2

これは、私が推測しているreportFilterというフィルタがパラメータとしてfalseに渡されていると、reportDataというフィルタリングのようです。 Vue 2のフィルタは、同じように動作しませんので、これは、複数のコンポーネント間で使用されている場合、あなたはおそらくそう、mixinを作成したいと思うでしょう、しかし、この方法にreportFilterを移動する必要があります:

// Filters mixin 
const Filters = { 
    methods:{ 
    reportFilter(data, flag){ 
     // reportFilter method 
    } 
    } 

} 

その後reportFilterあなたはミックスインを使用したいと思うでしょう使用されている任意のコンポーネントで:

var data = this.reportFilter(reportData, false); 

new Vue({ 
    // ... 
    mixins: [Filters], 
    // ... 
}) 

そうするとにご$evalコードを変更することができます

JSFiddleはどのように動作するかを示します:https://jsfiddle.net/4b8vqccs/

+0

ありがとう、Craig!私はそれを与えるだろう。 – Glen