У меня есть один контроллер и два вида.AngularJS: Область в нескольких представлениях не обновляется
ClustersContorller
angular.module('app.controllers').controller('ClustersController', [
'$scope', 'ClustersService', function($scope, ClustersService) {
ClustersService.getAll().success(function(data) {
$scope.clusters = data;
});
$scope.$on('cluster:added', function(event, data) {
ClustersService.createNew(data).then(
function(res) {
$scope.clusters.push(res.data);
},
function(res) {
console.log('Unable to create a cluster!');
}
);
});
}
]);
Теперь один вид работает прекрасно, когда я отправить запрос HTTP и обновить переменную области действия, нажав на $scope.clusters
:
<section class="clusters">
<h2 ng-show="clusters.length < 1">You have no clusters :(</h2>
<a class="btn btn-default btn-block" data-ng-repeat="cluster in clusters" data-template="{{cluster.templateId}}">
<h2> {{ cluster.name }} </h2>
<p> {{ cluster.description }} </p>
</a>
<add-cluster-modal></add-cluster-modal>
</section>
Но другой вид, который связан с этим контроллером не обновляется scope.clusters в привязках:
<ul class="dropdown-menu" role="menu" data-ng-controller="ClustersController">
<li data-ng-repeat="cluster in clusters">
<a> {{cluster.name}} </a>
</li>
</ul>
Просто чтобы быть ясно, что первый вид связан с $routeProvider
и второй из них является частью шаблона включены непосредственно в приложение основной HTML файл по ng-include=" 'templates/partials/header.html' "
Пожалуйста, не стесняйтесь спросить меня, если что-то путает. ..
спасибо + yarons –