AngularJS Unknown provider: $scopeProvider <- $scope <- selectorDirective
Такая ошибка может возникнуть при создании новой директивы, особенно при выносе контроллера в директиву. Скорее всего, она возникла из-за того, что была объявлена зависимость от $scope, например:
1 2 3 4 5 6 7 8 9 10 11 12 |
directives.directive('selector', [<strong>'$scope'</strong>, 'GeoSelect', function selectorGeoExtended(<strong>$scope</strong>, GeoSelect) { return { restrict: 'AE', replace: true, scope: {}, template: '<div></div>', link: function ($scope) { // @debug console.log($scope); } }; }]); |
Объявление директивы нужно заменить на
1 |
directives.directive('selector', ['GeoSelect', function selectorGeoExtended(GeoSelect) { |
Проблемы с java-программами в Mac OS Mavericks (10.9)
Если после обновления до Mac OS Mavericks (10.9) не запускаются какие-нибудь программы, зависящие от java (у меня не заработал PhpStorm), то нужно в командной строке
1 |
java -- version |
Если в ответ говорят No Java runtime present, requesting install, то нужно скачать образ отсюда http://support.apple.com/kb/DL1572?viewlocale=en_US и запустить.
Dirty checking в AngularJS и производительность
Misko Havery рассуждает о производительности data-binding в AngularJS: http://stackoverflow.com/questions/9682092/databinding-in-angularjs/9693933#9693933
Как работает javascript — описание принципа асинхронного исполнения
Недавно спрашивали, чем отличается асинхронное программирование от многопоточного. Если коротко — в javascript один поток (и использует он только одно ядро), но при этом может выполняться несколько различных действий одновременно. Это связано с тем, что javascript основан на событийной модели исполнения, и там, где остальные языки ждут ответа (от файловой системы, от базы данных, от …
Спецификация EcmaScript-6
https://people.mozilla.org/~jorendorff/es6-draft.html
Как написать приложение Google Chrome на AngularJS
http://www.ng-newsletter.com/posts/chrome-apps-on-angular.html
Подгрузка новых данных при скролле в AngularJS
Нужно показывать достаточно длинный (но не бесконечный) список фотографий, о котором известно, что в зависимости от разрешения фото могут показываться по одной или по две в ряд. Делается это только на одном экране, а не во всем приложении (т.е. надо снимать обработчики событий и навешивать их снова при заходе на нужный экран). Да, и еще …
Прототипы быстрее фабричных фунций
Dan Tao : The prototype is your friend (if you care about perf) — https://coderwall.com/p/jj6fwa Очередная статья о том, почему использование прототипов лучше при больших нагрузках. Но лично мне ближе фабрики. И узким местом, требующим внимания, я такие вещи не считаю.
Git: посмотреть последние merge веток
1 |
git log -n50 | grep Merge |
requestAnimationFrame
requestAnimationFrame удобен для группировки изменений DOM-структуры. В том числе между различными модулями. Позволяет избежать «layout thrashing». Работает как callback. Описание — https://developer.mozilla.org/ru/docs/DOM/window.requestAnimationFrame Пример использования и библиотека-обёртка — http://wilsonpage.co.uk/preventing-layout-thrashing/