Обновления области видимости AngularJS $ не отображаются в представлении
Во-первых, мне жаль, если я буду сбивать с толку, но яЯ решаю этот вопрос весь вечер, а яЯ прочитал десятки SO вопросов и статей на AngularJS, так что яЯ даже не уверен сейчас, знаю ли я, гдеС проблемой :)
У меня есть приложение нг, где в контроллере, когда я определяю данные по умолчанию для нескольких свойств$scope
, представление перестает обновляться, когда эти данные изменяются позже программно.
Вот'Вот краткий пример моего кода:
...
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/abc/:letter', {templateUrl: template, controller: FilterCtrl}).
otherwise({redirectTo: '/abc/a'});
}])
...
контроллер:
function FilterCtrl($scope, $http, $routeParams) {
$scope.mainfilter = $routeParams.letter;
$scope.listItems = $http.post($scope.url, {'filterType': 'abc', 'letter': $routeParams.letter});
$scope.searchTitle = function(search) {
$scope.mainfilter = 'Film: ';
//just test code to see if the data changes, will be other http call actually
$scope.listItems = $http.post($scope.url, {'filterType': 'abc', 'letter': 'n'});
}
}
Основная разметка, где определено представление (Symfony2, игнорируйте логику ветки pls):
...
<span class="sort--title">Search by</span>
film title
{% for id,title in titles %}
{{ title }}
{% endfor %}
Важнейшая часть шаблона:
<span class="heading">{{ mainfilter.toUpperCase() }}</span>
<a ng-click="getRelated(item._id)">{{ item.title }}</a>
Основная проблема в том, что когда у меня есть первые две строки контроллера, данные корректно инициализируются в зависимости от параметров маршрута, но после выполненияsearchTitle()
Это'не обновляется. Когда я удаляю первые две строки, данные, определенные маршрутом, нетянул (очевидно), ноsearchTitle()
метод правильно заполняет обаmainfilter
поле и повторныйs. Я'Я в отчаянии, я полагаю, что с областью что-то не так, но сейчас ям информация перегружена, и буду признателен за вашу помощь, ТАК!