서버에서 데이터를 가져 오는 함수가 포함 된 컨트롤러가 있습니다. 그 데이터를 서비스 변수에 저장합니다. 이 서비스는 지시문에 삽입됩니다. 이 함수가 호출되고 데이터가 갱신 될 때마다 지시문을 자동으로 업데이트하려고합니다.지시어에 서비스 변수를 바인드 하시겠습니까?
내 컨트롤러 :
angular
.module('myApp')
.controller('myCtrl', ['$scope', 'SomeService', function($scope, SomeService) {
$scope.update = function() {
SomeService.myValue = 100;
}
}]);
이 지침 :
angular.module('myApp')
.directive('myDirective', ['SomeService', function(SomeService) {
return {
templateUrl : 'views/myDirective.html',
restrict : 'E',
scope : false,
controller : function($scope) {
this.myValue = SomeService.myValue;
}
};
}]);
템플릿 :
<div>
{{ myValue }}
</div>
업데이트 기능은 버튼을 클릭 할 때 호출과이에 myValue를 업데이트한다 새로운 가치. 지시어에 자동으로 반영되기를 바랍니다.
쿵하는 소리 : http://plnkr.co/edit/OUPzT4MFS32OenRIO9q4?p=preview
감사합니다. 나는 이것을 따라, 나는 링크 기능에서 데이터에 액세스 할 수 있습니다. 그러나 놀랍게도, 나는 지침에서 그것을 볼 수 없다! –
@RutwickGangurde 어디에서 정확히 말해 주시겠습니까? – sylwester
그 한 가지 더 ... 지시자에 컨트롤러를 명시 적으로 지정하지 않습니다. 지시문에서 사용하는 데이터는 객체입니다. 링크 기능에서 사용할 수 있습니다. 그러나 지시문의 템플릿에서이 지시문을 사용하면 표시되지 않습니다. –