在網頁開發中,常常需要對數據進行排序,而Vue框架提供了方便的排序功能。Vue的排序可以按升序、降序、多字段排序等。排序可以在數據綁定之前或之后進行。
升序和降序是最基本的排序方式。Vue對數組的排序需要使用JavaScript的sort()方法來實現,該方法會改變原數組,因此要在副本上進行排序。下面是按升序排序的代碼示例:
const sortedArr = arr.slice().sort((a, b) =>a - b);
而降序則可以通過交換a、b位置得到:
const sortedArr = arr.slice().sort((a, b) =>b - a);
如果需要按多個字段排序,需要使用JavaScript的數組排序方法sort()中的比較函數。比較函數需要按照需要定義,比如下面的代碼用于首先按照age升序排列,如果age相同則按name升序排列:
function compare(a, b) { if (a.age< b.age) { return -1; } else if (a.age >b.age) { return 1; } else { // age相同時按name升序排列 if (a.name< b.name) { return -1; } else if (a.name >b.name) { return 1; } else { return 0; } } } const sortedArr = arr.slice().sort(compare);
在Vue的模板中,可以使用filter語法對數組進行排序。比如將students按照age升序排列:
其中的orderBy就是Vue內置的過濾器,排序方式默認為升序。如果需要降序排列,則可以指定參數'reverse':
Vue的orderBy過濾器還支持多字段排序。比如按照age升序、name降序排列:
其中'age'和'name'表示按照這兩個字段排序,'-1'表示對'name'進行降序排列。同樣的,如果需要給'age'進行降序排列,只需將'-1'放在'age'前面即可。
Vue的排序功能十分方便,使用起來也非常靈活,可以滿足各種排序需求。
上一篇jquery1.4下載
下一篇vue顯示隱藏6