• Почему Backbone.js всё равно перезагружает страничку при клике по ссылкам?

    Staltec
    @Staltec
    Node.js разработчик
    На stackoverflow уже ответили: stackoverflow.com/questions/9328513/backbone-js-an...

    initializeRouter: function () {
      Backbone.history.start({ pushState: true });
      $(document).on('click', 'a:not([data-bypass])', function (evt) {
    
        var href = $(this).attr('href');
        var protocol = this.protocol + '//';
    
        if (href.slice(protocol.length) !== protocol) {
          evt.preventDefault();
          app.router.navigate(href, true);
        }
      });
    }


    В общем вы правильно всё поняли. И это вовсе не маразм. Это "гибкость и легковесность фреймворка".

    UPD:
    Вот мысли почему всё именно так. Backbone не может самостоятельно решать за вас, какие ссылки считать внутренними роутами, а какие должны всё-таки вести на другие страницы. И те и другие ссылки будут выглядеть внутренними. Привила реагирования на ссылки вы должны определить сами. Backbone только решит за вас вопрос взаимодействия с history api.
    Ответ написан
    2 комментария
  • Что учить, не могу определиться!?

    Jeiwan
    @Jeiwan
    Вам не хватает задачи. Придумайте себе проект, найдите заказ на фриланс-бирже, устройтесь на работу, иначе так и будете блуждать в этом океане информации. Профессионализм заключается не в теоретическом знаний большого количества технологий, а в умении эффективно применять их в работе.
    Ответ написан
    Комментировать
  • Как инкапсулировать в backbone?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Откройте для себя настоящую модульную систему — Require.JS или Browserify. Первая гибче, зато не требует шага компиляции, ко второй больше плагинов и у нее меньше оверхед.

    P.S. По хорошему, уже можно (и даже нужно) начинать писать на ES2015 и юзать тамошние модули и прочие плюшки.
    Ответ написан
    Комментировать
  • Какой ноутбук для программирования (в основном планирую front-end) выбрать?

    VovanR
    @VovanR
    Фронт-энд Вэб-разработчик
    Под фронт-энд, имхо болше подходят юниксы. А так как фотошоп делают только под винду и мак, то остается единственный выбор - макбук.
    Но если выбирать с виндой, то я бы смотрел прежде всего на удобстро клавиатуры и углы обзора матрицы монитора. А то на моем леново нт матрица просто ужасна. Сверху светло, снизу темно, отчего приходится постоянно крышку туда сюда наклонять, при работе с макетами.
    И ссд конечно лучше. Во-первых ноут становится бесшумным, во-вторых ссд быстрее, как не крути. Для бэкапов лучше юзать домашние насы или облака.
    Ответ написан
    Комментировать
  • Есть ли у вас утечки памяти в backbone?

    aen
    @aen
    Keep calm and 'use strict';
    В backbone были проблемы, связанные с вложенными вьюшками. Пример: у вас есть родительская вьюшка, в которую вложены дочерние вьюшки. Что произойдет если удалить родительскую вьюшку? Дочерние вьюшки останутся в памяти, вот тут собственно и течет. Но это уже дело не в backbone, в рукожопстве разработчика.
    Или можно из одной вьюшки удалить контейнер другой вьюшки, тоже потечет, но это тоже рукожопство.
    В Model и Collection нечему течь.

    Marionette.js предоставляет набор сущностей для работы с вьюхами, которые действительно безопасны с точки зрения протечек. Но даже они не гарантируют рукожопства разработчика.

    На моей памяти были еще танцы с виджетами jQuery UI, которые каждый раз инициализировались. Но это снова о рукожопстве.

    Так что вам следует проверить уважаемого front-end программиста компании iconto проверить на рукожопство. Может быть backbone ни в чем не виноват.
    Ответ написан
    Комментировать
  • Как в Backbone изменять модель в подвью?

    aen
    @aen
    Keep calm and 'use strict';
    Вообще лучше всего соблюдать правило "Одна модель - одна вьюха". В вашем случае, это первый вариант. Тогда старшая вьюха Vote будет играть роль лэйаута. При условии, что не стоит размазывать модель на две вьюхи.

    Вообще есть приличное количество материалов по работе с вложенными вьюхами в backbone. В marionette.js для вашего случая есть даже готовые сущности: Region и LayoutView.
    Ответ написан
    4 комментария