2015-10-15 54 views
1

我建立了一個小測試頁來嘗試和探索一個對話框。我有一個紙張按鈕可以在對話框中執行操作,但是我無法獲得點擊事件和它應該調用的函數之間的關聯。我收到此錯誤消息。在水龍頭事件聚合物,我如何在我的模板中撿起

[dom-bind::_createEventHandler]: listener method `{{handleTap}}` not defined 

下面是代碼

 <template is="dom-bind" id="app"> 
     <paper-dialog id="logon-dialog" 
     modal 
     entry-animation="scale-up-animation" 
     exit-animation="fade-out-animation" 
     opened 
     > 
     <h2>User Login</h2> 
     <iron-a11y-keys keys="Enter" on-keys-pressed="{{doLogon}}"></iron-a11y-keys> 
     <form id="dologon" is="iron-form" action="/serve/logon.php" method="POST" contentType="application/json"> 
      <paper-input label="User Name" ></paper-input> 
      <paper-input label="password" type="password"></paper-input> 
      <paper-checkbox>Edit Profile after Log On</paper-checkbox> 
     </form> 
     <div class="buttons"> 
      <paper-button raised on-tap="{{handleTap}}">Log On</paper-button> 
     </div> 
     </paper-dialog> 


    <paper-header-panel class="flex"> 
     <paper-toolbar><div ident>PASv5</div><span class="flex"></span><iron-icon icon="menu:calendar"></iron-icon><iron-icon icon="search"></iron-icon><iron-icon icon="menu"></iron-icon><span>User Name</span></paper-toolbar> 
     <div></div> 
    </paper-header-panel> 
    </template> 
<script> 
    var app= document.querySelector("#app"); 
    app.handleTap = function(event) { 
     this.$.logon-dialog.close(); 
    }; 
</script> 

如何定義一個可以從抽頭被調用的函數?

錯誤消息意味着我應該添加一個事件監聽器。這是否有必要,因爲它似乎更復雜。如果這是我該怎麼做?

回答

1

你只需要刪除處理程序綁定括號:

<paper-button raised on-tap="handleTap">Log On</paper-button> 

更多信息,請參見annotated event listener setup

+0

謝謝,正在尋找該文件,並找不到它。修復了點擊問題。我改變了iron-a11y-key來調用handleTap,但它似乎沒有被調用。儘管如此,在放棄之前我需要花更多的時間(並在此提出另一個問題)。 – akc42

+0

我的iron-a11y-keys問題只是我沒有通過使用錯誤的文件導入它。與此討論無關 – akc42