0
jQuery 플러그인을 지시문으로 만들었습니다. jQuery 플러그인으로 지시문을 호출하고 플러그인에서 공용 메소드 호출
app.directive('bxSlider', function($timeout)
{
return {
restrict: 'A',
link: function(scope, element, attrs)
{
$timeout(function(){element.bxSlider(scope.$eval(attrs.bxSlider))},1);
}
}
});
내 컨트롤러에서 (클릭 기능을 통해), I는 플러그인에 공개 메소드를 호출하고 싶습니다,하지만 할 방법을 모르겠습니다. 변수에 지시문을 설정하고 컨트롤러에서 그런 식으로 호출하려고 시도했지만 오류가 발생했습니다 ... 메서드가 없습니다 ...
올바른 방법은 무엇입니까?
지시어의 링크 기능에 클릭 수신기를 바인딩하지 않는 이유는 무엇입니까? DOM에서 버튼의 위치뿐만 아니라 호출 할 정확한 함수를 지정할 수 있다면 쉽게 도움이 될 것입니다. – Jonathan
@Jonathan 음, jQuery 플러그인에는 reloadSlider()라는 공용 함수가 있습니다. 버튼을 클릭하면 해당 함수를 호출하려고합니다. 그것은 단순히 '이고 changeItems() 함수는 내 컨트롤러에 있습니다. – Ronnie
plunker 또는 jsfiddle.net에서 데모를 만듭니다. 일반적으로 플러그인 API에서 작업하지만 플러그인 설정 옵션은 없습니다. 또한 지시문의 링크 콜백 내에 메소드를 추가 할 수도 있습니다 – charlietfl