использовать аргумент как ключ свойства при переопределении значения с помощью оператора спреда [дубликат]

Вообще говоря:

Визуально

CSS . Существует множество методов для укладки контента (в зависимости от точного эффекта, который вы хотите, Holy Grail является общим желанием).

Свойства overflow обрабатывают прокрутки подсекций страниц, хотя дизайнеры, которые думают, что имеют меню, использующее экранное пространство все время , хорошая идея, как правило, неправильна.

Избегайте дублирования метаконтента

(т. е. накладывайте на на странице такие вещи, как базовая структура, меню навигации и т. д. без копирования / вставка их)

Система шаблонов (или система включения), которая либо работает на стороне сервера (чаще всего), либо во время сборки (которая может поддерживать HTTP-серверы, которые разрешают только статические файлы).

Язык, в котором это реализовано, не имеет значения, PHP так же распространен, как гадость, Java - это вариант, я склонен к Perl (а точнее: Template Toolkit ), есть много других. JavaScript становится все более популярным для этого типа работы, при этом инструменты, такие как собирают , становятся доступными. Вы можете полностью использовать статический генератор сайта .

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

Загрузка нового контента без выхода из страницы

JavaScript, обычно с объектом XMLHttpRequest (метод, известный как Ajax), и (если вы делаете серьезные изменения содержимого) в сочетании с History API (так что закладок и ссылок все еще работает). Гитуб - хороший пример этого . Существуют различные рамки, такие как React и Angular , которые пытаются облегчить ситуацию. Обратите внимание на ограниченную поддержку браузера и все другие вещи, которые могут вызвать JS-файл, с использованием хороших принципов дизайна . Один из подходов к тому, чтобы сделать эти вещи прочными, - написать изоморфный JS .

0
задан Alex C 8 August 2016 в 09:45
поделиться

1 ответ

В ES5 и ранее вы должны создать этот объект с помощью ряда операторов:

var dictObj = {};
dictObj[myObj.action1] = "action1";
dictObj[myObj.action2] = "action2";
dictObj[myObj.action3] = "action3";

Начиная с ES2015 (иначе ES6), вы можете сделать это с именами вычисляемых свойств в вместо этого инициализатор объекта:

let dictObj = {
    [myObj.action1]: "action1",
    [myObj.action2]: "action2",
    [myObj.action3]: "action3"
};

Вы можете использовать любое выражение внутри [] для создания имени свойства; в этом случае это просто простой поиск свойств.

В обоих случаях обратите внимание, что нет отношения live ; если вы измените myObj.action1 на 42 позже , после выполнения вышеизложенного это не влияет на имя свойства в dictObj.

3
ответ дан T.J. Crowder 17 August 2018 в 09:55
поделиться
  • 1
    Я не знаю о втором методе :) узнал новые вещи сегодня – Pranav C Balan 8 August 2016 в 09:50
  • 2
    Хм ... Я был уверен, что тоже пробовал этот путь, но не смог, также я попытался использовать кавычки, чтобы избежать точки (dictObj ['myObj.action1'] = & quot; action1 & quot ;;). В любом случае ваше предложение сработало – Alex C 8 August 2016 в 09:54
Другие вопросы по тегам:

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