【发布时间】:2015-04-08 13:21:07
【问题描述】:
这是我第一次尝试使用 ember js。 我正在制作一个简单的登录表单。我已经使用 ember-cli 创建了应用程序。为了简短起见,这是我添加到骨架应用程序中的内容:
这是 app.js
import Ember from 'ember';
import Resolver from 'ember/resolver';
import loadInitializers from 'ember/load-initializers';
import config from './config/environment';
Ember.MODEL_FACTORY_INJECTIONS = true;
var App = Ember.Application.create({
modulePrefix: config.modulePrefix,
podModulePrefix: config.podModulePrefix,
Resolver: Resolver
});
loadInitializers(App, config.modulePrefix);
export default App;
这是 app/router.js
import Ember from 'ember';
import config from './config/environment';
var Router = Ember.Router.extend({
location: config.locationType
});
export default Router.map(function() {
this.route('login', {path: '/login'});
});
这是模板templates/login.hbs:
<form class="form-horizontal" {{action "login" bubbles=false}}>
<div class="control-group">
<div class="control-label">
<label>Username</label>
</div>
<div class="controls">
{{input value=username type="text"}}
</div>
</div>
<div class="control-group">
<div class="control-label">
<label>Password</label>
</div>
<div class="controls">
{{input value=password type="password"}}
</div>
</div>
<button type="submit" class="btn" >Log in!</button>
</form>
这是 app/controllers/login_controller.js
import Ember from 'ember';
var LoginController = Ember.Controller.extend({
loginFailed: false,
isProcessing: false,
actions: {
login: function() {
this.setProperties({
loginFailed: false,
isProcessing: true
});
}
}
});
export default LoginController;
控制台报错:
Uncaught TypeError: undefined is not a functionapp-boot.js:25 (anonymous function)
如果我提供一些用户名和密码,然后单击登录!它给出了这个错误:
Uncaught Error: Nothing handled the action 'login'. 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.
我做错了什么。请帮忙。
【问题讨论】:
标签: javascript ember.js ember-cli