我试图在反向排序无序列表(VUEJS 2。x),但我似乎找不到任何过滤器的文件,像以前在VUE 1。x(类似于角度1做它)
例如:

<li v-for="message in messages | orderBy 'name' -1">

但那已经不管用了。
我在这里尝试使用计算属性:
computed: {
  reverse: function() {
    return this.messages.reverse();
  }
}

哪种方式有效,但一旦通过页面上的表单提交新邮件,列表项不会保持反转。
目标是在任何时候保持列表项颠倒。
我试过将reverse函数附加到其他生命周期挂钩上,比如beforecreate和updated,但似乎没有任何效果。我错过了什么?

最佳答案

事实上,在VueJS2中过滤器已经消失了…相反,您可以使用computed properties作为您已经尝试过的:

<li v-for="message in sortedMessages">

然后:
computed: {
  sortedMessages: function() {
    return this.messages.slice().sort(function(message1, message2) {
        var name1 = message1.name.toLowerCase();
        var name2 = message2.name.toLowerCase();
        if(name1 < name2) return 1;
        if(name1 > name1) return -1;
        return 0;
    })
  }
}

希望这有帮助!

关于javascript - 如何对李的反向排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41772086/

10-08 22:15