首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ember.js中的事件处理程序

ember.js中的事件处理程序
EN

Stack Overflow用户
提问于 2016-03-21 12:45:52
回答 1查看 624关注 0票数 0

我试图从Ember.js控制器触发一个事件。我抛出一个错误,上面写着"ember.min.js:3未登录错误:任何操作都没有处理‘单击’。如果您确实处理了该操作,则此错误可能是通过从控制器中的动作处理程序返回true,导致操作冒泡引起的。“另外,我不清楚事件系统是如何针对目标操作的自身工作的。有人帮我解决这个问题。这是我的代码:

代码语言:javascript
复制
<!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获得

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-21 12:57:15

您没有名称为“单击”的操作,并且告诉您的代码在单击按钮时查找“单击”操作。变化

代码语言:javascript
复制
{{action "clicked"}} 

转到

代码语言:javascript
复制
{{action "clickMe"}}

或更改

代码语言:javascript
复制
clickMe(){ 

采取行动

代码语言:javascript
复制
clicked(){ 

一切都应该很好。

查看https://guides.emberjs.com/v2.4.0/templates/actions/以获取有关操作的文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36131412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档