簡體   English   中英

ember.js中的事件處理程序

[英]Event Handlers in ember.js

我正在嘗試從Ember.js控制器觸發事件​​。 我拋出一個錯誤,指出“ ember.min.js:3未捕獲的錯誤:什么都沒有處理動作'單擊'。如果您確實處理了該動作,則可能是由於從控制器中的動作處理程序返回true導致此錯誤而導致的泡沫。” 我也不清楚事件系統如何針對目標動作自行工作。 有人可以幫我弄這個嗎。 這是我的代碼:

<!DOCTYPE html>
<html>
   <head>
      <title>Ember.js Application example</title>
      <!-- CDN's -->

      <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.12.0/moment.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.1/handlebars.min.js"></script>
      <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>

       <script src="https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.10.0/ember.min.js"></script>
       <script src="http://builds.emberjs.com/tags/v1.10.0-beta.3/ember-template-compiler.js"></script>
       <script src="http://builds.emberjs.com/release/ember.debug.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/ember.js/2.4.3/ember.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/js/bootstrap.min.js"></script>
   </head>
   <body>
      <div class="container" id="github-app">

      </div>       
      <script type="text/x-handlebars" data-template-name="application">
         <div class="row">
            <div class="col-md-12">
                <h1>Hello from Ember!</h1>
                {{outlet}}
            </div>
         </div>      
      </script>

      <script type="text/x-handlebars" data-template-name="index">
      <p>This is a github explorer for all the users.</p>

      <ul>{{#each dev in controller}}
         <li><a href="#">{{dev}}</a></li>
         {{/each}}
      </ul>

      <p>
         <button class="btn btn-success" {{action "clicked"}}>Click Me</button>
      </p>

      <p>{{renderedOn}}</p>
      </script>      

      <script type="text/javascript">
      App = Ember.Application.create({
         rootElement:"#github-app"
      });
      App.IndexRoute=Ember.Route.extend({
         model:function(){
            return [
            "Sam",
            "Sandy",
            "Samudh"
            ];
         }
      });
      App.IndexController = Ember.ArrayController.extend({
         renderedOn : function(){
            return new Date();
         }.property(),
         actions    : {
            clickMe(){
               alert("I been clicked");
            }            
         }

      });
      </script>
   </body>
</html>

也可以從http://jsbin.com/cuxajiyuqa/edit?html獲得,輸出

您沒有名稱為“ clicked”的操作,並且告訴您的代碼在單擊按鈕時查找“ clicked”的操作。 更改

{{action "clicked"}} 

進入

{{action "clickMe"}}

或更改

clickMe(){ 

行動成

clicked(){ 

一切都會好起來的。

查看https://guides.emberjs.com/v2.4.0/templates/actions/獲取有關操作的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM