데이터가 모두 데이터이면 값을 사용할 수 있습니다. 각 컨트롤러에 Value를 삽입하고 범위에 저장 한 다음 템플릿의 Value 속성을 참조하십시오. 서비스를 사용한다면 똑같은 일을 거의 할 수 있습니다. 내 예제는 각각을 사용하는 하나의 솔루션을 보여줍니다.
이 예제를 참조하십시오 : 새 개체에 MyService.myData를 재 할당 할 경우주의해야 할
http://plnkr.co/edit/qTbSjnf6Q2FVDurGZhKd
<div ng-controller="MainCtrl">
<input ng-model="mainVal.value"></input>
<input ng-model="mainSvcVal.value"></input>
</div>
<div ng-controller="OtherCtrl">
<input ng-model="otherVal.value"></input>
<input ng-model="otherSvcVal.value"></input>
</div>
var app = angular.module('plunker', []);
app.value('MyValue', {value: "Hello There"});
app.service('MyService', function() {
this.myData = {
value: "Goodbye"
}
});
app.controller('MainCtrl', function($scope, MyValue, MyService) {
$scope.mainVal = MyValue;
$scope.mainSvcVal = MyService.myData;
});
app.controller('OtherCtrl', function($scope, MyValue, MyService) {
$scope.otherVal = MyValue;
$scope.otherSvcVal = MyService.myData;
});
한 가지는 것, 그것은 관계를 깰 것이다.
각도 '값'을 사용하여 양쪽에 값을 주입 할 수 있습니다. 또한 범위 속성에 서비스를 할당하고 템플릿의 서비스 속성을 직접 참조했습니다. (예 : {{$ scope.myService.someProperty}}) –
@CraigSquire, AngularJS $ digest 루프에서 서비스를 완전히 검사하기 때문에 서비스를 $ scope에 할당하는 것이 좋습니다. 나는 그것을 필요로하지 않는다. 하지만 가치는 ... 좋습니다, 근데 왜 ... 루트 스코프가 아니지? 따라서 각 서비스에 대해 app.value를 생성해야합니다 (예 : 비슷한 상황). – dt0xff
물론, 객체를 참조하는 서비스의 속성을 볼 수도 있습니다. $ scope.myData = $ scope.myService.myData 및 템플릿의 $ scope.myData.someProperty를 참조하십시오. 각 서비스에 대해 app.value가 의미하는 바가 확실하지 않습니다. $ rootScope에 데이터를 저장할 수도 있습니다. 나는 당신이 뭔가를 넣을 곳이 어디인지 알지 못할 때 투기장이 될 수 있기 때문에 일반적으로 그렇게하지 않습니다. –