본문 바로가기
Programming/Web

Angular.js controller 간 데이터 공유

by Chan_찬 2016. 4. 6.
728x90
분리되어 있는 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>


728x90
728x90
Buy me a coffeeBuy me a coffee

댓글