Javascript 余烬控制器出现奇怪错误
我使用的是Ember Cli版本:0.2.3 我目前正在探索与余烬,并尝试一个非常简单的应用程序 我的模板中有这个/about.hbsJavascript 余烬控制器出现奇怪错误,javascript,ember.js,ember-cli,Javascript,Ember.js,Ember Cli,我使用的是Ember Cli版本:0.2.3 我目前正在探索与余烬,并尝试一个非常简单的应用程序 我的模板中有这个/about.hbs <h1>About</h1> <p>I'll write something interesting here</p> <button type="btn btn=primary"{{action 'clickMe'}}>Click me!</button> 当我点击按钮时,我得到了这
<h1>About</h1>
<p>I'll write something interesting here</p>
<button type="btn btn=primary"{{action 'clickMe'}}>Click me!</button>
当我点击按钮时,我得到了这个错误,我检查了语法,似乎无法捕捉到错误。我需要一些新鲜的眼睛
Uncaught Error: Nothing handled the action 'clickMe'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.
现在,我明白了消息的意思,但我还不知道如何修复它 Ember可能找不到您的控制器。您可以使用。在任何情况下,您都应该在ember cli项目中使用ES6约定。你可以进一步了解这个主题 无论如何,尝试通过键入以下命令行创建关于控制器的信息
ember generate controller about
然后手动添加您的操作。余烬可能找不到您的控制器。您可以使用。在任何情况下,您都应该在ember cli项目中使用ES6约定。你可以进一步了解这个主题 无论如何,尝试通过键入以下命令行创建关于控制器的信息
ember generate controller about
然后手动添加操作。您的程序是否使用ember cli或ember starter工具包 如果您使用的是Ember cli,则应创建以下文件: app/templates/about.hbs app/controllers/about.js 你也应该在app/router.js中输入一个条目[我想你一定已经这样做了。] router.js中的条目-
Router.map(function() {
this.route('about');
});
现在,您的模板/about.hbs应该是-
<h1>About</h1>
<p>I'll write something interesting here</p>
<button {{action 'clickMe'}}>Click me!</button>
import Ember from 'ember';
export default Ember.ObjectController.extend({
actions:{
clickMe: function() {
alert('Something something');
}
}
});
完成上述所有更改后,在CMD上执行以下命令-
余烬服务器这将启动服务器
如果按照上述模式执行,代码应该可以工作。
命名约定在Ember中非常重要。您的程序是否使用Ember cli或Ember初学者工具包 如果您使用的是Ember cli,则应创建以下文件: app/templates/about.hbs app/controllers/about.js 你也应该在app/router.js中输入一个条目[我想你一定已经这样做了。] router.js中的条目-
Router.map(function() {
this.route('about');
});
现在,您的模板/about.hbs应该是-
<h1>About</h1>
<p>I'll write something interesting here</p>
<button {{action 'clickMe'}}>Click me!</button>
import Ember from 'ember';
export default Ember.ObjectController.extend({
actions:{
clickMe: function() {
alert('Something something');
}
}
});
完成上述所有更改后,在CMD上执行以下命令-
余烬服务器这将启动服务器
如果按照上述模式执行,代码应该可以工作。
命名约定在Ember中非常重要。非常重要,文件名应该是about.js,您应该使用es6模块。@Kitler当我第一次创建about控制器时,我将其命名为about.js,尽管我得到了这个错误未捕获的错误:应该在“blogger/controllers/about”中找到:“controller:about”,但得到了“undefined”。您是否忘记导出默认值“在”blogger/controllers/about“内?”“您是否忘记导出?”P很重要,文件名应该是about.js,您应该使用es6模块。@Kitler当我第一次创建about控制器时,我将其命名为about.js,尽管我得到了这个错误未捕获的错误:应该在blogger/controllers/about中找到:'controller:about',但得到了'undefined'。您是否忘记导出默认值“在”blogger/controllers/about“内?”“您是否忘记导出?”我工作得很有魅力。虽然代码非常相似,但Blogger.AboutController改为导出默认值,Thank@Mateusz nowak的工作非常出色。虽然代码非常相似,但Blogger.AboutController更改为导出默认值,谢谢@Mateusz NowakYes,但控制器命名不正确。正如@Kitler提到的6,全局变量已被ES6模块取代。可悲的是,大多数例子都被弃用了。感谢您对此进行调查是的,控制器命名不正确。正如@Kitler提到的6,全局变量已被ES6模块取代。可悲的是,大多数例子都被弃用了。谢谢你调查这件事