Polymer 및 Dart를 사용하여 점 좌표 목록을 생성하고 있습니다. 그것은 HTML로 포인트 목록을 렌더링합니다. 그럼에도 불구하고 자바 스크립트 함수를 사용하여 한 좌표계에서 다른 좌표계로 점을 변환하려고합니다. HTML 다트 폴리머에서Javascript 함수를 통해 Polymer 데이터 바인딩 전달
:
<template repeat="{{ p in grid_points }}">
<core-item>{{ p }}</core-item>
</template>
내가 도서관에서 발견 된 자바 스크립트 :
grid_to_geodetic(x, y);
grid_points이 포인트의 목록입니다. js 함수를 통해 p.x와 p.y를 전달하고 HTML 템플릿에서 p 대신 렌더링 된 결과를 얻으려면 어떻게해야합니까? 당신은 그것을 위해 expression filter을 사용할 수
'핵심 요소'를 '사용자 요소'에 넣는 것을 의미한다고 가정합니다. 어떤 경우 내가 당신이 말한 무엇을 시도했지만 오류 얻을 수있다 : \t \t 폴리머 ('핵심 항목', { \t \t \t rt90_to_wgs84 : 기능 (점) { \t \t \t \t 반환 point.x을 + point.y; \t \t \t} \t \t}); 예외 : 표현식 '(p | rt90_to_wgs84)'을 (를) 평가하는 중 오류가 발생했습니다. 클래스 'TrainList'에 인스턴스 getter 'rt90_to_wgs84'가 없습니다. NoSuchMethodError : 방법을 찾을 수 없습니다 'rt90_to_wgs84' 수신기 : 'TrainList' 인수의 인스턴스 : 그것은 어떤 결국 수하는 새로운 자바 스크립트 함수를 만드는 것이 아니라, 다트 클래스를 사용하려고 시도하는 것처럼 [] 그것은이다 call grid_to_geodetic() – alex
아니, 나는 "당신의 요소"를 의미했다. 템플릿이 사용자 정의 구성 요소의 일부라고 가정합니다. 순수 폴리머로 작성된 사용자 정의 구성 요소에서 작동하는 방식, Dart를 직접 사용하지 않으므로 미안합니다. 흠, 당신은 실제로 일반 JS 함수를 사용하고 Polumer ('your-element'... stuff)를 건너 뛸 수 있습니다. – ain
예, JS 함수를 필터 표현식에 사용하지 않으려 고 시도했습니다.다트 메서드에 대한 참조는 다음과 같이 인쇄합니다. {{p | rt90_to_wgs84}} rt90_to_wgs84 (p) { print (p.toString()); } 하지만 JS를 호출 할 수 없습니다. JsFunction과 JsObject를 살펴 보려고했지만 그냥 이해할 수는 없습니다. 이 함수는 JS 파일의 단순한 전역 함수입니다. JsFunction.withThis()가 무엇인지, JsObject.callMethod가 무엇인지 모르겠습니다. 나는 그 전역적인 기능만을 가진 대상이나 방법이 없다. –
alex