많은 직사각형 (예 :)이있는 SVG 개체가있는 Ionic 응용 프로그램이 <rect class="info" id="1001" width="20" height="20" transform="translate(40,40)" />
있습니다. ng-click
각각에 수동으로 추가하지 않고 각각에 지시문 을 추가하고 싶습니다 ng-click
.
현재 대신 컨트롤러에 다음 코드가 있습니다.
$(document).ready(function() {
$('#svg').on('click', 'rect.info', dispInfo);
}
이것은 필요에 따라 작동하지만 "Angular"방식은 아닌 것 같습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
나는 더 각진 것처럼 보이지만 소용이없는 다음을 시도했습니다.
var elems = $('#svg rect.info');
elems.attr('ng-click', 'dispInfo()');
$compile(elems);
이렇게하면 ng-click 지시문이 적절한 요소에 성공적으로 추가되지만 실행되지는 않습니다. 내가 전화하는 방식에 문제가 될 수 $compile
있습니까?
좀 더 각도를 맞추기 위해 왜 svg 직사각형을 지시문 으로 감싸고 지시문 템플릿의 일부로 ng-click을 추가 할 수 없습니까?
코드에서 내가 보는 문제는 $ compile 함수가 html 템플릿을 허용한다는 것입니다. 아래를 시도해 볼 수 있습니다.
var elems = $('#svg rect.info'),
$parent = elems.parent();
elems.attr('ng-click', 'dispInfo()');
elems = $compile(elems.html())($scope); // pass your scope variable instead of $scope
$parent.empty().append(elems);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다