Как стать автором
Обновить
47
0
Владислав Шкодин @smashercosmo

Пользователь

Вот, из официальной документации к redux:
In this todo app, we will only have a single container component at the top of our view hierarchy. In more complex apps, you might have several of them. While you may nest container components, we suggest that you pass props down whenever possible.

Пруфлинк
Да, в react-redux делается все тоже самое с помощью HOC connect. Любой компонент обернутый в connect, становится smart-компонентом и получает доступ к глобальному стейту. Однако, на сколько я понял, redux-сообщество придерживается принципа «чем меньше смарт-компонентов, тем лучше» и как раз лучшим решением считает top-down рендеринг, так как он более предсказуемый.
Патчить директивы можно ещё следующим образом:

app.config(function($provide){
    $provide.decorator('someDirective', function($delegate) {
        $delegate.restrict = 'E';
        $delegate.controller.method1 = function(){};
        $delegate.link = function(){};
        return $delegate;
    }
})
Может в «Правдивой лжи»?
1. Ну, во-первых, ngInclude это тоже директива, которая предназначена как раз для включения в шаблон повторяющихся элементов разметки.

2. Во-вторых, никаких проблем со вложенными инклудами нет (или я о них не знаю). Приведите пожалуйста пример, когда вложенные инклуды не работают.

3. В-третьих, если вам нужно грузить разную разметку в зависимости от внешних условий (залогинен юзер или не залогинен), используйте ngSwitch и ngSwitchWhen (посмотрите решение Бена Наделя).

4. В-четвертых, элементы, которые повторяются на всех страницах (или на большом их количестве) должны описываться в некотором мастер-шаблоне (которых может быть и несколько), а не инклудиться на каждую из страниц.
Не понял, вы предлагаете на каждой странице вставлять директивы <app-header>, <app-footer>, <side-menu>, <top-menu> и т. д.?
ээээ… я не говорил, что ng-route-segment это позволяет делать :) это был скорее вопрос к автору библиотеки: почему нельзя было сделать именованные вьюхи?
Если я вижу в коде:
<div class="" app-view-segment="12"></div>

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

javascript
segment('overview')

html
<div class="" app-view-segment="overview"></div>

UI-router тоже очень сырой и постоянно подкидывает неприятные сюрпризы. Одно из самых интересных решений проблемы было предложено Беном Наделем www.bennadel.com/blog/2441-Nested-Views-Routing-And-Deep-Linking-With-AngularJS.htm
Именование вложенных вьюх с помощью индексов — в высшей степени неудачное решение. При сложном лэйауте будет много времени уходить на поиск нужных темплейтов.
Не понял, что значит «не работают вложенные инклуды»?
plnkr.co/edit/PKEWKZJHKNhxGWqAJuTm — всё работает.
P.S. А оборачивать header и footer сайта в директивы это какой-то совершенно ужасный совет, IMHO.
Картинка в 1920 пикселей по ширине в подвале сайта наводит на мысль что микро-курсов по вёрстке не предвидится
— У нас будет свой поисковик, — заявили в правительстве — Без шлюх и со скрепами.
В какой-то момент я начал говорить всем своим заказчикам, что если им нужна пусть даже минимальная поддержка IE6-7, то пусть ищут себе другого разработчика. Как результат: я начал выполнять в два раза больше заказов.
Именно. Совершенно спокойно взять и потерять деньги (в том случае если у вас конечно не какая-то критическая ситуация, когда каждая копейка на счету).
По-хорошему нужно сброс стилей для каждого элемента писать отдельным правилом. Это помогает избежать длинную портянку мусорных стилей в файербаге и вебинспекторе. Собственно так организован normalize.css.
Уважаемый grokru, пожалуйста прекратите заниматься тупой копипастой, не приводя испольуемый вами материал к актуальному состоянию с точки зрения современных техник и тенденций. И если уж занимаетесь переводами, то используйте хотя бы в качестве первоисточников издания, заслуживающие доверия (к css-tricks претензий нет, а вот другие два источника вызывают большие сомнения).
Ну и к тому же файл с шаблонами все равно кэшируется браузером, так что некоторое увеличение размера мне кажется непринципиально, а скорость отрисовки страницы будет выше.
Суть прекомпиляции — создание из текста шаблона готовой функции для рендринга. Это процедура весьма затратна, если делать ее на клиенте.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность