Mam dwa divy z tym samym kontrolerem ng w AngularJS, jak mogę zmusić je do udostępniania informacji?
Mam dwa różne znaczniki div w moim kodzie HTML odwołujące się do tego samego kontrolera w AngularJS. Podejrzewam, że skoro te divy nie są zagnieżdżone, każdy z nich ma własną instancję kontrolera, więc dane są różne w obu.
<div ng-controller="AlertCtrl">
<ul>
<li ng-repeat="alert in alerts">
<div class="span4">{{alert.msg}}</div>
</li>
</ul>
</div>
<div ng-controller="AlertCtrl">
<form ng-submit="addAlert()">
<button type="submit" class="btn">Add Alert</button>
</form>
</div>
Wiem, że można to łatwo rozwiązać, dodając przycisk w pierwszym div, ale uważam, że jest to naprawdę czysty i prosty przykład, aby przekazać to, co próbuję osiągnąć. Jeśli mielibyśmy nacisnąć przycisk i dodać kolejny obiekt do naszej tablicy alertów, zmiana nie zostanie odzwierciedlona w pierwszym div.
function AlertCtrl($scope) {
$scope.alerts = [{
type: 'error',
msg: 'Oh snap! Change a few things up and try submitting again.'
}, {
type: 'success',
msg: 'Well done! You successfully read this important alert message.'
}];
$scope.addAlert = function() {
$scope.alerts.push({
type: 'sucess',
msg: "Another alert!"
});
};
}