Вход

Просмотр полной версии : Контроллеры инициализируются два раза?


n008
26.03.2016, 20:55
Всем привет!
Не судите строго) Только учусь

Есть в принципе простое приложение, просто ставлю консоль.лог в контроллер, при открытии в броузере в консоле выводит два раза!
Это нормально? или это я что-то намутил?))
По идее один раз должно, нет?

krasovsky
28.03.2016, 06:31
Должно быть 1 раз. Если только ты не консолишь с помощью $watch, могут быть так же проблемы с ui-router
И вообще где код?

n008
28.03.2016, 13:01
krasovsky, да, есть $watch, убрал его - нифига

Ща попробовал по разному, короче если прописать вот так


var app = angular.module('App', ['ngRoute']);

app.config(['$routeProvider', function($routeProvider) { $routeProvider
.when('/', {templateUrl: 'views/list.html', controller: 'AppListCtrl'})
.otherwise({ redirectTo: '/' });
}]);

app.controller('AppListCtrl', ['$scope', '$http', function($scope, $http) {
$scope.name = "AppListCtrl";
console.log('oop!');
}]);


вьюхи идут в индекс.html в виде <div ng-view></div>

тогда два раза контроллер срабатывает (вывожу console.log)

Если без роутерпровайдера, просто есть апп, контроллер, который привязан к какому-либо блоку в разметке (в index.html), то тогда один раз контроллер срабатывает...