일부 자바 스크립트 파일이 더 라이브러리처럼 행동 - 그들은 입력을 받아 출력을 계산하지만 직접 QML 구성 요소 인스턴스를 조작하지 도우미 기능 세트를 제공합니다.
내가 둘 다 JS 파일을 원하는 경우 :
- 가 (인수로 전달됩니다) QML 구성 요소 인스턴스
- 저장의 코드와 데이터의 사본을 얻을하지 않습니다 조작을 그것을 가져 오는 모든 QML 구성 요소 인스턴스에 대해?
JS 파일에 전역 변수를 넣지 않음으로써 "모든 인스턴스에 저장된 데이터가 없습니다"부분을 얻을 수있었습니다. 그러나 어떤 이상한 이유로 "코드"부분의 사본이 모든 인스턴스에 대해 저장되는 것으로 보입니다. 나는 이것이 왜 그런지는 모르지만 나는 그것을 회피 할 수 있는지, 그리고 어떤 비용을 들이는지를 알고 싶다.
JS 코드는 다소 변경 될 수 있으므로 공유하는 것이 실제로 원하는 것은 아닙니다. 나는 당신이 그것을 필요로한다는 정말 좋은 증거가 나올 때까지 그것을 피할 것이다. 왜냐하면 당신은 그것과 함께 가기 위해 copy-on-write (/ assignment)가 필요할 것이기 때문에 컴포넌트들은 서로의 행동을 바꾸지 않기 때문이다. – ssube
이 문장에 대한 증거를 제공해 주시겠습니까? '그러나 어떤 이상한 이유로 "코드"부분의 사본이 모든 인스턴스에도 저장되어있는 것 같습니다. " – Mitch
@Mitch : 내가 링크 된 문서 페이지에는 바로 옆에 : "각 QML 구성 요소 인스턴스가이 라이브러리의 고유 한 복사본을 가지고 있기 때문에 낭비가됩니다."[...] " –