Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 16.11.2017, 13:04
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

Сообщение от destus
Во-первых, он наследуется от модели, что является очень плохим решением.
Почему наследуется?, Notes не имеет методов Storage, в конструкторе Notes я создаю Storage (да правильнее было бы передавать его как аргумент), и прокидываю туда Notes, т.е модель при инициализации подписываает View на события, а view триггерит эти события, которые улавливает Storage...
Ответить с цитированием
  #22 (permalink)  
Старый 16.11.2017, 13:06
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

destus,
не могли бы вы показать мне какой нибудь простой пример, именнно то как вы видите компонент
Ответить с цитированием
  #23 (permalink)  
Старый 16.11.2017, 17:35
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

DynkanMaclaud,
Мне кажется там всего лишь надо было баги исправить и немного покрасивше организовать код, тем более времени дается всего час, а ты там нахуевертил в два раза больше кода, имхо оригинал по качеству лучше выглядит.
Ответить с цитированием
  #24 (permalink)  
Старый 17.11.2017, 01:53
Аватар для DynkanMaclaud
Профессор
Отправить личное сообщение для DynkanMaclaud Посмотреть профиль Найти все сообщения от DynkanMaclaud
 
Регистрация: 08.08.2014
Сообщений: 261

Rise,
как такой вариант ? https://jsfiddle.net/yaepa0u2/7/
что насчет делегирования скажите?? стоит ли делать? неудобно будет сохранять индекс элемента в атрибуте ... потом через e.target , получать а далее в storage.remove ... и т.п, в данном случае из замыкания достает...

Последний раз редактировалось DynkanMaclaud, 17.11.2017 в 02:31.
Ответить с цитированием
  #25 (permalink)  
Старый 17.11.2017, 12:48
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Плохо
Разные стили function Storage, class Notes
this.data = load() ? load() : [];

зачем дважды выполнять load(), если он вернет результат
var storageEnable = (function () {
        var state = false;
        try {
            window.localStorage.setItem('test', 'a');
            state = window.localStorage.getItem('test') === 'a';
            window.localStorage.removeItem('test');
        } catch (err) {
            console.log('Local storage disable');
        }
        return state;
    }()); // утка если крякает

this.remove
splice
this.set очень интересно. здесь либо this возвращать, для использования в дальнейшем цепочки вызовов или присваиваемое значение для плюшек в синтаксисе
если несколько раз используете document.createElement
то можно для создания написать функцию
<script>
function buildElement(tagName, props) {
  var element = document.createElement(tagName);
  for (var propName in props) element[propName] = props[propName];
  return element;
}

document.addEventListener("DOMContentLoaded", function() {
  var btn = buildElement('input', {
    type: 'button',
    value: 'Delete',
    style: 'background-color: red'
  });
  document.body.appendChild(btn);
});
</script>

и наверное лучше было раз создать, а затем по необходимости клонировать эти элементы
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать задание malin Общие вопросы Javascript 4 16.08.2016 11:00
Тестовое задания Front-end разработчику Имя Работа 19 08.12.2011 12:31
Тестовое задание Yandex mycoding Оффтопик 71 06.07.2011 15:46
Тестовое задание. Дайте идею. FINoM Оффтопик 14 28.03.2011 10:09
Помогите сделать тестовое задание начального уровня по js makregistr Работа 1 16.12.2010 14:26