Sizoider: потому что инициализация слайдера у вас происходит сразу после загрузки страницы, по событию window.onload. Если в этот момент у вас в теле страницы будет контент для слайдера - слайдер будет работать.
Когда вы вынесли контент для слайдера в ngView, слайдер перестал его видеть при инициализации, потому что в момент срабатывания window.onload его просто нет в документе, он появится только когда отработает ангуляр и его роутер.
Sergey: Нет, такого быть не должно. Подобное может происходить, если на элементе стоит анимация, которая ничего не делает, или просто стоит transition-duration. В этом случае будет задержка на величину transition-duration.
Николай Антонов: анонимная функция через () => {} сохраняет контекст, в котором она была объявлена. function() {} вызывается с контекстом вызывающей функции.
Контекст можно "прибить гвоздями" с помощью function() {}.bind(this)
Itvanya: listClientHeight - высота вашего окна, в котором происходит скролл.
scrollBar.style.top - top ползунка.
scrollBarHeight - высота ползунка
Ползунок, упираясь нижней границей в нижнюю границу list, будет иметь top = 100
Следовательно, максимально возможный scrollBar.style.top это 200 - 100 = 100. Как он у вас 200, я слабо себе представляю
ksivasid: если вы отдаете себе отчет, в том, что вы делаете, вы можете использовать и $emit / $broadcast.
Событийно-ориентированный подход это единственно верный без использования реактивного программирования. Просто не все (например @Fesor) допускают использование для обмена событиями инструменты ангуляра.
Skrolea: Ну я вам, собственно, и описал способ - ограничиваете выборку локализованных полей путем указания конкретных вложенных свойств - .populate('title.en', 'content.en'), после чего в модели у вас будет свойства title и content с одним вложенным свойством en, что позволит вам не делать вам filter_language, а просто вытащить это одно-единственное свойство в хуках.
Не в области видимости, а в том, что подразумевает строка как параметр в $watch. Она подразумевает путь внутри объекта $scope, к которому вы делаете $watch.
$scope.$watch('vm.data') пытается следить за изменениями в $scope.vm.data, которого у вас нет.
Другое дело, что не нужно тут никакого $watch - вызывайте после добавления и удаления элементов dataService.setLocalData(vm.data);
Ваш $watch делает глубокое сравнение объектов, этого стоит избегать как огня.
В крайнем случае $watchCollection, но тоже хреново.
sinout: только в документации и примеры смотреть. Я так делал.
Там в принципе ничего сложного - ключ это id бандла (это кусок приложения, который вы линкуете в html, их может быть сколько угодно), значение - массив со строками require, например прямо с загрузчиком, типа 'css!less!bootstrap/less/bootstrap.less'