2017-01-04 9 views
0

Попытка реализовать метод sortBy для компонента Vue. Вот что я до сих пор.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 идет удар, и что параметры SortKey, отправляемые правильно из шаблона, но проблема, как представляется, с функцией _.sortBy не оказывает никакого эффекта на this.students.students массив.

Любые идеи, почему это не работает.
Я попытался использовать метод , используя массив примеров подстроки, и он отлично работает, но я думаю, что что-то происходит с массивом, когда оно добавляется к данным компонента 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

Спасибо - но похоже, что приведенный выше код является тем же самым кодом, который я использую с одним исключением. У меня есть данные сортировки, которые находятся на компоненте Vue, а не на объекте Vue. Я думал, что это может быть связано с массивом данных, но я дал компоненту массив, который у вас выше, и проверил массив до и после функции _.sortBy, но нет изменений в массиве –