моменты с двумя отдельными форматами fromNow ()

Это «фрагмент» или «названный якорь». Вы можете использовать для ссылки на часть документа. Обычно, когда вы ссылаетесь на страницу, браузер открывает ее вверху страницы. Но вы ссылаетесь на раздел на полпути вниз, вы можете использовать фрагмент для ссылки на этот заголовок (или что-то еще).

Если на странице нет тега <a name="whatever"/>, тогда браузер будет просто ссылка на верх страницы. Если фрагмент пуст, то он также будет просто ссылаться на верхнюю часть страницы.

Для фрагмента только <a href="#">Link name</a>, то это всего лишь ссылка на верхнюю часть страница current .

Вы часто видите такую ​​ссылку, используемую при объединении с javascript. Соответствие стандартам HTML требует атрибут href, но если вы планируете обрабатывать запрос с помощью javascript, тогда «#» служит в качестве разумного владельца места.

0
задан KrNel 19 March 2019 в 05:50
поделиться

1 ответ

Следует признать, что это не обязательно самое элегантное решение , но в одном используемом вами файле, в котором вы хотите использовать пользовательский формат локали, вы можете:

    [1110 ] Сохранить текущий ( исходный по умолчанию ) формат для relativeTime на объекте.
  1. Глобально установите для формата relativeTime локали ваш собственный формат.
  2. Выполните все moment операции с датой / строкой, которые вам нужно сделать.
  3. Восстановите исходный формат по умолчанию, глобально установив обратно формат relativeTime для объекта, который вы сохранили.

Это будет выглядеть так:

const CONFIG_ORIG = moment().locale("en").localeData()._relativeTime;
const CONFIG_NEW = {
  future: "in %s",
  past: "%s ago",
  s: "secs",
  ss: "%ss",
  m: "a min",
  mm: "%dm",
  h: "1h",
  hh: "%dh",
  d: "a day",
  dd: "%dd",
  M: "month",
  MM: "%dM",
  y: "year",
  yy: "%dY"
};

const DATE = new Date();

// Original format displays: "a few seconds ago"
const string1 = moment.utc(DATE).fromNow();

moment.updateLocale("en", { relativeTime: CONFIG_NEW });
// Custom format displays: "secs ago"
const string2 = moment.utc(DATE).fromNow();

moment.updateLocale("en", { relativeTime: CONFIG_ORIG });
// Restored original format displays: "a few seconds ago"
const string3 = moment.utc(DATE).fromNow();

Вот песочница с кодом, которая показывает это в действии:

Edit momentjs locales [ 1119]


Дополнительные ресурсы:

0
ответ дан Alvin Lee 19 March 2019 в 05:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: