2017-01-04 12 views
0

VueコンポーネントでsortByメソッドを実装しようとしています。ここに私がこれまで持っているものがあります。Vue.jsアンダースコアを使用した並べ替えsortBy

var studentTableComp = { 
    template: '#studentTable', 
    data: function() { 
     return { 
      students: data, 
      show: true, 
      columns: [ 
       'id', 
       'candidateType', 
       'complete' 
      ] 
     } 
    }, 
    methods: { 
     sortBy: function (sortKey, e) { 
      e.preventDefault(); 
      _.sortBy(this.students.students, sortKey); 
     } 
    }, 
} 

そして、私はSORTBY機能がヒットしていることがわかりますし、テンプレートから正しく送信されているソートキーのパラメータが、問題は上の任意の効果を持っていない_.sortBy機能であると思われることthis.students.studentsアレイ。

それがうまくいかない理由があります。
アンダースコアの例配列を使用して_.sortByメソッドを試してみましたが正常に動作しますが、この関数が正しく機能しない可能性があるVueコンポーネントのデータに配列が追加された場合、

答えて

0

_.sortByを参照してください。フィドルhereを参照してください。ここで

はコードです:あなたは、これが解決されていない、まだ見た場合

var demo = new Vue({ 
    el: '#demo', 
    data: function(){ 
     return { 
     students: [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}] 
     }; 
    }, 
    methods: { 
     sorted: function() { 
     return _.sortBy(this.students, 'name'); 
     } 
    } 
}) 

は、あなたのレポからより多くのコードを追加します。

+0

ありがとうございます - しかし、私は1つの例外を除いて使用しているのとまったく同じコードです。 Vueオブジェクト自体ではなく、Vueコンポーネントにあるデータをソートしています。私はそれがデータ配列と関係するかもしれないと思っていた - しかし、私は上記の配列をコンポーネントに与え、_.sortBy関数の前後に配列をチェックしたが、配列に変更はない –

関連する問題