Объявляю $watch на переменную, но вылетает эта ошибка:
В аналогичном коде в другом js-файле этой ошибки нет.
1) Подключение контроллера #2, где сыпется ошибка:
angular
.module('form2', [...])
.controller('form2Controller', ['$q', '$scope', '$timeout',
function($scope, $timeout, $q, ...)...])
2) Откуда летит:
$scope.$watch('model.value2', function ()
{
$scope.getForm();
});
3) Контроллера с аналогичным кодом, где нет ошибки и все запускается:
angular
.module('form1', [...])
.controller('form1Controller', ['$q', '$scope', '$timeout',
function($scope, $timeout, $q, ...)...])
4) идентичный участок рабочего кода, но к другой переменной в другом контроллере:
$scope.$watch('model.value1', function ()
{
$scope.refresh();
});
5) Подключение модулей:
angular.module('content', [
'form1',
'form2',
])
6) Подключение контроллеров в div:
<div ng-controller="form1Controller">...</div>
<div ng-controller="form2Controller">...</div>
Проблема кроется вот в этом месте:
.controller('form2Controller', ['$q', '$scope', '$timeout',
function($scope, $timeout, $q, ...)...])
Для того чтобы Dependency Injection (DI) работало корректно, важно, чтобы порядок параметров, передаваемых в контроллер, перечисленный в описании DI совпадал с порядком в сигнатуре функции контроллера. Чтобы понять, почему это важно, достаточно представить, что этот код будет подвергнут минификации. Он станет выглядеть как-то так:
.controller('form2Controller', ['$q', '$scope', '$timeout',
function(a, b, c, ...)...])
И тогда единственным способ для ангуляра понять, что при вызове контроллера вторым параметром, например, надо передавать $timeout
— это ориентироваться на порядок, в котором аргументы перечислены в начале массива.
В общем, для исправления проблемы надо указать параметры в нужном порядке. Либо так:
.controller('form2Controller', ['$q', '$scope', '$timeout',
function($q, $scope, $timeout, ...)...])
, либо так:
.controller('form2Controller', ['$scope', '$timeout', '$q',
function($scope, $timeout, $q, ...)...])
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Возможно сделать так, что при открытии html файла, он сразу выводился на печать (в PDF) без данного окна? (изображение ниже)
Есть div, который не имеет ни класса, ни id или nameРедактировать html код этого тега нельзя (то есть нельзя приписать ему идентификатор)
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме
Есть плеер он хорошо воспроизводит потоки, но с конкретно этот не воспроизводит :http://persikby/stream/975/377885/34