Я заметил, что в одном из моих контроллеров я получаю $ rootScope и $ scope вложенные, и оба они указывают на один и тот же объект.Объем и объем области углового корня
Кроме того, во всех моих других контроллерах объект $ scope является общим. Поэтому всякий раз, когда я вводя область видимости, она содержит свойства/методы, назначенные ей во всех других контроллерах, которые до сих пор были созданы.
Это не приложение, с которым я работал с самого начала, и оно довольно массивное. Я раньше этого не видел, и я не знаю, с чего начать диагностировать его. Любые идеи, что вызывает это?
То, как мы создаем наши контроллеры/директивы является довольно стандартным, и это выглядит следующим образом:
angular.module('myApp')
.directive('mainNav', function() {
return {
restrict: 'A',
templateUrl: 'scripts/directives/mainNav/mainNav.html',
controller: 'mainNavCtrl',
replace: true,
link: function(scope, element) {
//Do DOM-related stuff
});
}
};
})
.controller('mainNavCtrl', function($rootScope, $scope, $state) {
//Do controller stuff
});
Мы также настроить наше приложение следующим образом:
angular.module ('MYAPP', [ 'ui.router', 'kendo.directives'])
.config (функция ($ stateProvider, $ urlRouterProvider) { $ urlRouterProvider.otherwise ('/');$stateProvider .state('app', { url: '/', templateUrl: 'views/app.html', resolve: { //Fetch stuff } }) ; });
В ответ на комментарий Kürşad Gulseven, это то, что я вижу в Batarang:
Область с ID 002 получает передается в виде $ объеме и $ rootScope первого контроллера , Когда свойства добавляются в $ scope, они отображаются на $ rootScope. Затем все остальные контроллеры получают область с идентификатором 00A. Таким образом, свойства, добавленные в $ scope в этих контроллерах, видны всем остальным контроллерам, получающим $ scope.
Режимы Child наследуют свойства родительских объектов, если они не переопределены. Возможно, это то, что происходит. – Shomz