내 DOM의 일부 요소를 조작하려면 링크 함수를 사용해야하지만 서비스를 사용해야합니다. 컨트롤러 함수에서, 나는 이것을하는 법을 알고 있지만, 링크 함수에서 이것을 달성하는 방법을 모른다.링크 기능에 서비스를 주입하는 방법은 무엇입니까?
--EDIT-- 좀 더 명확 자신을 넣어 보자 : 나는 전단지와 각-하게 시공 사용하고
.
link: function($scope) {
$scope.to.marker.on('dragend', function(eventArguments) {
var newPosition = eventArguments.target.getLatLng();
$scope.model.geocodes = newPosition;
});
}
문제는 내가 이것에 서비스를 주입 할 필요가있다 : 그러나 전단지에있는 이벤트는 다음과 link
기능을 넣어해야합니다. 각도 형식으로 (http://docs.angular-formly.com/docs/formlyconfig) 그것은 controller: function($scope)
에 서비스를 삽입 할 수 있다는 것을 보여 주지만, link
에서 같은 일을 할 수있는 방법을주지 않고 링크에서 $scope.model.geocodes
을 변경하면 해당 서비스가 실행되지 않습니다. 내 custom-template
컨트롤러에 설정 한 watcher
.
나는 분명히했다.
이 잘못된 접근이다. 먼저 컨트롤러 내의 모든 데이터를 확인한 다음해야하는 경우 해결 된 값으로 dom 요소를 조작해야합니다. 나는 당신이 $ scope를 사용하고 있다고 가정 할 것이다. ControllerAs 구문을 사용하는 것이 좋습니다. Angular 1.5.x에서는 이상적으로 구성 요소를 사용하고 injectable $ 요소를 사용하고보기에 의존하여 dom의 변경 사항을 처리해야합니다. 많은 접근법이 유효하지만, 단지 내 개인 취향입니다. – zilj
@musefan 나는 "지시어의 링크 기능에 서비스를 사용하는 방법"이라고 이해했다. – zero298