Vue.js使用下划线排序

时间:2017-01-04 15:49:07

标签: sorting underscore.js vue-component vuejs2

尝试在Vue组件上实现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数组上。

任何想法,为什么它没有工作。
我已经使用Underscores示例数组尝试了_.sortBy方法,并且它工作正常,但我认为当数组添加到Vue组件上可能阻止此函数工作的数据时会发生某些事情正确。

1 个答案:

答案 0 :(得分: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');
      }
    }
})

如果您发现仍未解决此问题,请从您的回购添加更多代码。