Я пытаюсь выяснить, что происходит в конфигурации ui-view. Поскольку большинство ответов, которые я вижу по этому сообщению, это то, что контроллер определен в маршрутизаторе и html.В случае использования ui-view, контроллер угловых вызовов несколько раз
Пожалуйста, посмотрите на этот пример, он вызывает контроллер 11 раз! (Нажмите о и проверьте таблицу: есть 11 строк с «приветом»)
http://plnkr.co/edit/YOshrVFmtUHFEvhdWH6S?p=preview
routerApp.controller('scotchController', function($scope) {
$scope.message = 'test';
$scope.hi = function() {
$scope.scotches.push({name: 'hi', price: 10})
};
Ваших идей, как исправить и сделать только один вызов к контроллеру приветствуется!
Моя ставка заключается в том, что вы вызываете функцию «hi()» в шаблоне таблицы. Я думаю, что когда вы вызываете функцию «hi()», это вызывает повторную визуализацию шаблона таблицы. Когда шаблон повторно отображает, он снова вызывает «hi()», и это вызывает другой цикл повторной визуализации. Вы должны посмотреть на ошибки консоли, вы входите в бесконечный цикл. – Kosta
Справедливо, но почему в этом случае происходит повторное рендеринг? Это означает, что невозможно вызвать функции внутри шаблонов, а также фильтры, из-за чего исходная проблема началась с фильтра, и я начал упрощать свой код, и один из способов, которым я нашел, как избежать этой проблемы - переместить фильтр из html в контроллер. –
Я не уверен, что фильтрация должна вызвать тот же эффект, если вы предоставите Plunker с вашей первоначальной проблемой, причина может быть иной. – Kosta