我试图从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,output获得
发布于 2016-03-21 12:57:15
您没有名称为“单击”的操作,并且告诉您的代码在单击按钮时查找“单击”操作。变化
{{action "clicked"}} 转到
{{action "clickMe"}}或更改
clickMe(){ 采取行动
clicked(){ 一切都应该很好。
查看https://guides.emberjs.com/v2.4.0/templates/actions/以获取有关操作的文档
https://stackoverflow.com/questions/36131412
复制相似问题