Programming/Web
Angular.js controller 간 데이터 공유
Chan_찬
2016. 4. 6. 19:13
반응형
분리되어 있는 ctrl 1과 ctrl 2 사이에 데이터를 공유하기 위해
factory에 'franksPizza' 추가하고
각 컨트롤러에서 parmeter로 받아서 사용한다.
아래 링크에서 직접 테스트 가능함.
Javascript
var app=angular.module('myApp', []);
app.factory('franksPizza', function() {
var pizzaService = {};
pizzaService.slicesLeft = 8;
return pizzaService;
});
function Ctrl1($scope, franksPizza) {
$scope.pizza = franksPizza;
$scope.pizza.toping = 'mushroom';
}
function Ctrl2($scope, franksPizza) {
$scope.pizza = franksPizza;
}
HTML
<div ng-controller="Ctrl1">
<h2>Ctrl1</h2>
Slices Left: <input ng-model="pizza.slicesLeft">
{{pizza.toping}}
</div>
<hr />
<div ng-controller="Ctrl2">
<h2>Ctrl2</h2>
Slices Left: {{pizza.slicesLeft}}
{{pizza.toping}}
</div>
<h2>Ctrl1</h2>
Slices Left: <input ng-model="pizza.slicesLeft">
{{pizza.toping}}
</div>
<hr />
<div ng-controller="Ctrl2">
<h2>Ctrl2</h2>
Slices Left: {{pizza.slicesLeft}}
{{pizza.toping}}
</div>
728x90
반응형
BIG