2016-03-21 12 views
0

Ember.jsコントローラからイベントをトリガしようとしています。 "ember.min.js:3 Uncaught Error:何もアクションを処理しませんでした"クリックしたアクションを処理した場合、コントローラのアクションハンドラからtrueを返すことでこのエラーが発生する可能性があります。バブルに。 "また、目標とする行動のためにイベントシステムがどのように機能するかについてはっきりしていません。誰かがこれを手伝ってくれる。ここに私のコードです:あなたは「クリック」名前のアクションを持っていない、とあなたがアクションを探すために、あなたのコードを教えてもember.jsのイベントハンドラ

<!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,output

答えて

0

のクリックで「クリック」ボタン。

{{action "clickMe"}} 

{{action "clicked"}} 

変更または

clicked(){ 

clickMe(){ 

アクションを変更し、すべてがうまくいくはず。

アクションについての説明については、https://guides.emberjs.com/v2.4.0/templates/actions/を参照してください。

+0

ありがとうございました。問題を修正しました。私はember.jsの新人で、オンラインのビデオをいくつかフォローしていました。そして、それは著者が追ってきたものと同じです。彼は関数にもエイリアスを使用していません。上記の変更をせずに彼がどのように働いたのだろうと思っています。 –