Pull to refresh
21
0
Roman Gomolko @Romanych

User

Send message
Вы отчасти правы. Я имел те же самые сомнения. Но они разбились о суровую правду реальности. Как-ни странно, но мой пример работает без этой проверки. На самом деле я до конца не разобрался, почему он работает, ведь не должен :-) Как разберусь, обязательно напишу
На самом деле я тоже имел те же самые сомнения. Но они разбились о суровую правду жизни. Как-ни странно, но мой пример работает без этой проверки. На самом деле я до конца не разобрался, почему он работает, ведь не должен :-) Как разберусь, обязательно напишу
Как вы меня порадовали своим комментарием. Значит кто-то внимательно проработал статью. На самом деле я элементарно протупил, когда делал пример. Я уже в последний момент подумал, что надо сбрасывать номер страницы в единицу. И быстренько прикрутил. Потом уже, при написании статьи, когда описывал шаги, увидел что-то будет идти 2 запроса и даже не пытался решить эту проблему, мне показалось всё сложнее чем есть на самом деле.

По сути, наш главный dependentObservable должен следить только за изменением номера страницы. А номер страницы может меняться по двум причинам: пользователь перешёл на другую страницу или изменил условия фильтрации. Осталось только получить значение всех параметров при этом не получая их значения через функцию-getter. Для этого у нас есть ko.utils.unwrapObservable(). Он вернёт нам plain object и при это dependentObservable не будет изменяться при изменении параметров фильтрации. Иными словами надо заменить
var data = ko.toJS(this.filterParams);

на
var data = ko.utils.unwrapObservable(this.filterParams);


Код в статье поправил
Выложить-то можно, но в его нынешнем виде — это малополезно. Но я обещаю обдумать эту перспективу.
Картинку добавил. Думаю над размещением где-то в паблике примера или портированием на jsfiddle.
В своей предыдущей статье я довольно много залил на jsfiddle. Но я не нашёл как вставлять в пост с фиддла вставки.

Касательно сегодняшней статьи, я не смог симулировать реальный backend с помощью ихнего echo. Хотя можно по колдовать и получится, но тогда пример уже получится не чистым.

А на счёт не нативных контролов, то да, вы правы. Есть 2 пути решения этой проблемы:
  • кастомный биндинг, который будет самостоятельно инициализировать кастомные контролы и управлять ими
  • кастомный биндинг, который будет управлять уже проиницилизированными кастомными контролами.


Решение надо принимать на уровне проекта и потом следовать ему. В любом случае, вам надо будет один раз описать все кастомные биндинги (slider, datapicker, accordion, button) и потом просто их использовать.

Вот один из примеров: jsfiddle.net/rniemeyer/Rn9tg/
Безусловно, однако я не уверен что у меня есть устойчивый к хабраеффекту хостинг
Спасибо за статью. Вопросы актуальные и важные. Я бы рекомендовал вам ознакомиться со стьёй A User-Centered Approach To Web Design For Mobile Devices или её переводом, хотя есть подозрение, что вы её проработали перед этой статьёй.
Доклад прошёл хорошо. Можно будет посмотреть видео. Обещали через неделю выложить, обязательно дам ссылку.

Рассказал зачем вообще нужен MVVM на простейшем примере. Поставили задачу «Отобразить окружность заданого радиуса и цвета». Потом решение задачи без применения паттернов проектирования, потом немного усложнили задачу — добавилось пару мест для управления параметрами (цвет и радиус) и пару мест где они должны отображаться. Посмотрели на лапшевидный код.
Далее попробовали сделать нечто MVVM поднобное, а потом уже та же задача на Knockout'е.

Это всё длилось порядка 20-25 минут. А потом где-то 40-50 минут публичного программирования с описанием действий. Простенький редактор списка людей, ну и полезные хинты.

На самом деле очень базовые вещи, но для введения вполне познаватально и полезно.
Спасибо за ценное дополнение. Я старался донести важность того, что Нокаут запоминает, к чему обращались при чтении. Получилось немного невнятно из-за привязки к изначальной задаче. У вас более яркий пример, спасибо.
Это допустимо когда вы один работаете над проектом.
А когда 6 человек, каждый имеет право изменять структуру базы и у каждого своё рабочее пространство — это уже не вариант. Однозначно нужны средства синхронизации.
Возможно вы правы.
Были отличные статьи (раз, два) но как-то у меня с ним не сложилось…
Я так понимаю, что этот же плагин можно использовать не только для jXHR объектов, а любых других асинхронных вещей.

Было бы отлично получить такой пример.
Отличная обёртка над $.Deferred()

Самими Deferred не очень удобно пользоваться, а так — красота.

Спасибо.
Мда, желтоват заголовок. Как раз говорил со своим менеджером на счёт целесообразности использования HTML5 и тут бац… такой многообещающий заголовок. Уже можно говорить «Осторожно, Windows» при появлении любой уязвимость в windows-приложении.

А по теме, то да — хранить секретные данные в незащищенных хранилищах идея плохая. И технологии не причём.
Если в массиве есть ноль и одно отрицательное значение, то надо оставить именно 0.
В браузере надо вызвать контекстное меню (долгое нажатие на одной точке) и выбрать пункт «Select text». Потом всё точно также, как сказал предидущий оратор
Как-то сомнительно. Потому что по идее ложатся соседи по серверу. Или у вас выделенный?
Игры. FIFA 2008. Устанавливается, запускаться не хочет. Хотя в Windows XP отлично работает. Железо: ATI Radion X1400 (ноут). Драйверы от Microsoft. Родные под Vista ложили систему (нагрузка проца 90%, памяти свободной почти нет)
По роду своей деятельности мне приходится писать скрипты которые будут выполнятся в «агрессивной среде». Наступал на грабли и не раз и постепенно прихожу к мысли, что использовать сторонние фреймворки в таких ситуациях дело очень опасное. Самое опасное — это модификация DOM. Вдруг владелец сайта не в том место вставил JS код, неверно определили событие DomLoad, страница слишком тяжёлая — и всё, в IE получаем Operation Aborted exception и пользоветель уходит с сайта. Надо использовать максимально простые решения.

Не задумывались, почему используют document.write()? Ибо это надёжно. Почему Google Analytics ставится перед? Что бы DOM уже был готов. И это при том, что они не пытаются его толком модифицировать.

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

Всё по отдельности у меня есть, но хочется собрать манёвренный комбайн :-) И не думаю что это станет Open Source, хотя может и будет кому-то полезным

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity