맞춤 요소 자바 스크립트 함수를 찾을 수 없습니다.

에릭 블 레이스

Polymer에 대해 머리를 돌리려고합니다. 분명히 커스텀 요소는 ShaBang 전체의 핵심입니다. 나는 몇 개를 만들었고, 어떤 것은 내가 원하는 것을 할 수 없을 뿐이다.

BTW 버전 0.5를 사용하고 있습니다. 왜, 단순히 내가 변화하기 위해 게으 르기 때문입니다.

여기 내 문제가 있습니다.

링크를 클릭 할 때 Paper-Dialog가 팝업되기를 원합니다. 코드가 Index.html 페이지에 직접있을 때 완벽하게 작동합니다. 그러나 사용자 정의 요소를 래핑하면 Javascript 이벤트를 찾을 수 없습니다.

콘솔에서이 오류가 발생합니다.

"Uncaught ReferenceError : toggleDialog is not defined"

나는 그것이 내가 이해하지 못하는 것 때문이라는 것을 압니다. 그러나 나는 Polymer의 너트와 볼트를 얻는 데 어려움을 겪고 있습니다.

내가하려는 코드는 다음과 같습니다.

<polymer-element name="cvirt-reader" attributes="content" >
  <template>   
    <a href="#" onclick="toggleDialog()">Read</a>    

    <div id="HelpDialog">   
      <paper-dialog  id="dlgHelper"  heading="Bottom Dialog" transition="paper-dialog-transition-bottom">
        <a href="#"><IMG src="/cvirtAnimee.gif"></a>
        <paper-button label="Fermer" affirmative autofocus></paper-button>
      </paper-dialog>
    </div>

  </template>
  <script>
  Polymer('cvirt-reader', {
      toggleDialog: function(e) {
        this.$.dlgHelper.toggle();
      }
    });
</script>
</polymer-element>
빅터 슈베르트

더 간단한 대답

Polymer는 다음 속성을 사용하여 요소의 메서드를 이벤트 에 바인딩 하는 선언적 이벤트 매핑제공 on-<event name>합니다.

<a href="#" on-click="{{toggleDialog}}">Read</a>

속성의 이름을 올바르게 지정하는 한 모든 이벤트에서 작동합니다. 폴리머가 나머지를 처리합니다.


원래 답변

onclick전역 범위가 아닌 함수에 속성을 설정할 수 없다고 생각합니다 . 아마도 당신은 리스너를 ready함수 (  첫 번째 요소에 대한 read것) 와 바인딩을 시도해야합니다 .ida

Polymer('cvirt-reader', {
    ready: function () {
        this.$.read.addEventListener('click', this.toggleDialog.bind(this), false);
    },
    toggleDialog: function(e) {
        this.$.dlgHelper.toggle();
    }
});

문제는 onclick="toggleDialog()"브라우저를 사용할 때 toggleDialog전역 범위에서 함수를 찾는 반면 실제로 Polymer 요소의 속성이므로 전역 범위에 없으므로 ReferenceError.

내부에서 이벤트 리스너를 결합하여 ready찾을 수 있습니다 : 기능, 당신이 필요로하는 모든 것이 당신의 현재 범위에서 액세스 toggleDialog를 통해 this및 이벤트 리스너로 추가.

이를 사용 하면 이벤트 가 잡힐 때마다 이벤트 대신 Polymer 요소를 참조 .bind(this)하게됩니다 .thistoggleDialog

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Selenium은 자바 스크립트 요소를 찾을 수 없습니다

분류에서Dev

자바 스크립트 모듈을 찾을 수 없습니다.

분류에서Dev

자바 스크립트가 요소에서 찾기를 적용 할 수 없습니다.

분류에서Dev

초점을 바꾸는 자바 스크립트를 찾을 수 없습니다.

분류에서Dev

chrome devtools에서 디버깅 할 자바 스크립트 소스 맵을 찾을 수 없습니다.

분류에서Dev

웹 요소를 변경하기 위해 자바 스크립트를 실행하는 동안 변수를 찾을 수 없습니다.

분류에서Dev

매개 변수 / 입력 데이터를 자바 스크립트의 맞춤 요소에 전달

분류에서Dev

자바 스크립트에서 ID를 찾을 수 없습니다.

분류에서Dev

웹 소켓을 자바 스크립트와 연결할 수 없습니다.

분류에서Dev

자바 스크립트 함수 내에서 HTML 요소를 가져올 수 없지만 해당 요소의 속성을 가져옵니다.

분류에서Dev

자바 스크립트 : 맞춤 매개 변수로 맞춤 이벤트 선언

분류에서Dev

nvim 자바 스크립트 번들을 찾을 수 없습니다.

분류에서Dev

자바 스크립트 숨겨진 div가 표시됨-요소를 찾을 수 없음

분류에서Dev

Appium | 로봇 프레임 워크 | 맞춤 로케이터 전략을 사용하여 요소를 찾기 위해 키워드를 실행할 수 없습니다.

분류에서Dev

자바 스크립트, 변수를 찾을 수 없음

분류에서Dev

while 루프 대신 자바 스크립트 맞춤 이벤트를 어떻게 사용할 수 있습니까?

분류에서Dev

자바 스크립트 : clearTimeout을 할 수 없습니다

분류에서Dev

요소를 찾을 수없는 경우 Selenium Continue 스크립트

분류에서Dev

자바 스크립트의 입력 상자에서 부동 소수점을 추가 할 수 없습니다.

분류에서Dev

자바 스크립트로 교과서에 초점을 맞출 수 없습니다.

분류에서Dev

자바 스크립트에서 하위 요소의 텍스트를 가져올 수 없습니다.

분류에서Dev

Google 스프레드 시트 맞춤 메뉴 반환 스크립트 기능을 찾을 수 없음

분류에서Dev

Markdown에서 자바 스크립트 소스를 가져올 수 없습니다.

분류에서Dev

자바 스크립트 : 라운드 수를 얻을 수 없습니다.

분류에서Dev

자바 스크립트에서 숨겨진 텍스트의 ID를 찾을 수 없습니다.

분류에서Dev

동적 자바 스크립트 HTML ID를 찾을 수 없음

분류에서Dev

맞춤 패키지를 찾을 수 없습니다.

분류에서Dev

맞춤 Odoo 스 니펫을 제거 할 수 없습니다.

분류에서Dev

자바 스크립트 : 소수점 뒤에 0을 입력 할 수 없습니다.

Related 관련 기사

  1. 1

    Selenium은 자바 스크립트 요소를 찾을 수 없습니다

  2. 2

    자바 스크립트 모듈을 찾을 수 없습니다.

  3. 3

    자바 스크립트가 요소에서 찾기를 적용 할 수 없습니다.

  4. 4

    초점을 바꾸는 자바 스크립트를 찾을 수 없습니다.

  5. 5

    chrome devtools에서 디버깅 할 자바 스크립트 소스 맵을 찾을 수 없습니다.

  6. 6

    웹 요소를 변경하기 위해 자바 스크립트를 실행하는 동안 변수를 찾을 수 없습니다.

  7. 7

    매개 변수 / 입력 데이터를 자바 스크립트의 맞춤 요소에 전달

  8. 8

    자바 스크립트에서 ID를 찾을 수 없습니다.

  9. 9

    웹 소켓을 자바 스크립트와 연결할 수 없습니다.

  10. 10

    자바 스크립트 함수 내에서 HTML 요소를 가져올 수 없지만 해당 요소의 속성을 가져옵니다.

  11. 11

    자바 스크립트 : 맞춤 매개 변수로 맞춤 이벤트 선언

  12. 12

    nvim 자바 스크립트 번들을 찾을 수 없습니다.

  13. 13

    자바 스크립트 숨겨진 div가 표시됨-요소를 찾을 수 없음

  14. 14

    Appium | 로봇 프레임 워크 | 맞춤 로케이터 전략을 사용하여 요소를 찾기 위해 키워드를 실행할 수 없습니다.

  15. 15

    자바 스크립트, 변수를 찾을 수 없음

  16. 16

    while 루프 대신 자바 스크립트 맞춤 이벤트를 어떻게 사용할 수 있습니까?

  17. 17

    자바 스크립트 : clearTimeout을 할 수 없습니다

  18. 18

    요소를 찾을 수없는 경우 Selenium Continue 스크립트

  19. 19

    자바 스크립트의 입력 상자에서 부동 소수점을 추가 할 수 없습니다.

  20. 20

    자바 스크립트로 교과서에 초점을 맞출 수 없습니다.

  21. 21

    자바 스크립트에서 하위 요소의 텍스트를 가져올 수 없습니다.

  22. 22

    Google 스프레드 시트 맞춤 메뉴 반환 스크립트 기능을 찾을 수 없음

  23. 23

    Markdown에서 자바 스크립트 소스를 가져올 수 없습니다.

  24. 24

    자바 스크립트 : 라운드 수를 얻을 수 없습니다.

  25. 25

    자바 스크립트에서 숨겨진 텍스트의 ID를 찾을 수 없습니다.

  26. 26

    동적 자바 스크립트 HTML ID를 찾을 수 없음

  27. 27

    맞춤 패키지를 찾을 수 없습니다.

  28. 28

    맞춤 Odoo 스 니펫을 제거 할 수 없습니다.

  29. 29

    자바 스크립트 : 소수점 뒤에 0을 입력 할 수 없습니다.

뜨겁다태그

보관