Сортировка списка ractivejs, поддержка по возрастанию?

Я пытаюсь понять, есть ли в ractivejs функция для сортировки по убыванию и по возрастанию. Я не мог найти ничего в документации.


person doron aviguy    schedule 28.08.2014    source источник


Ответы (1)


Нет — Ractive намеренно избегает быть служебной библиотекой «кухонной раковины». Но добавить помощника ascending или descending очень просто:

var helpers = Ractive.defaults.data;

// assuming a and b are numbers...
helpers.ascending = function ( a, b ) {
  return a - b;
};

helpers.descending = function ( a, b ) {
  return b - a;
};

ractive = new Ractive({
  el: 'body',
  template: '' +
    '<p>ascending: {{ numbers.slice().sort(ascending) }}</p>' +
    '<p>descending: {{ numbers.slice().sort(descending) }}</p>'
  },
  data: {
    numbers: [ 9, 4, 6, 2, 4, 1, 10, 2, 7, 8 ]
  }
});

Обратите внимание, что вы также можете поместить функции ascending и descending непосредственно в объект data, если это предпочтительнее.

Вот JSFiddle для демонстрации: http://jsfiddle.net/rich_harris/nszt3150/

person Rich Harris    schedule 28.08.2014
comment
Просто хочу отметить, что если у вас есть любимая библиотека сортировки, вы можете напрямую добавить ее в качестве своего «помощника»: Ractive.defaults.data._ = _ и получить удобный встроенный доступ к шаблону, как в примере скрипки @Rich_Harris. VanillaJS или ваша любимая библиотека, у Ractive с этим все в порядке. - person martypdx; 28.08.2014