当我第一次进入我的登录网址时,输入被正确地绑定到我的控制器上的属性。
然后按下注销,它的作用是转换回登录页面。
当我再次尝试登录时,它失败了,因为输入值没有绑定到控制器,另外我得到这个错误:
Uncaught Error: Assertion Failed: Attempted to register a view with an id already in use: login
如果我刷新页面就可以了。
我的一些参考代码:
LoginRoute
export
default Ember.Route.extend({
setupController: function(controller) {
controller.reset();
},
beforeModel: function() {
if (!Ember.isEmpty(this.controllerFor('sessions.login').get('token'))) {
this.transitionTo('promotions');
}
}
});
LogoutRoute
export
default Ember.Route.extend({
beforeModel: function() {
this.controllerFor('sessions.login').reset();
this.transitionTo('sessions.login');
}
});
控制器上的LoginAction
loginUser: function() {
var _this = this;
var login = this.get("login");
var pass = this.get("password");
登录表单
<form role="form" {{action 'loginUser' on='submit'}}>
<div class="form-group">
{{input type="text" class="form-control" id="login" placeholder="Login" value=login autofocus="autofocus"}}
{{input type="password" class="form-control" id="password" placeholder="Password" value=password}}
</div>
<div class="form-group">
<span class="input-group-btn">
<button class="btn btn-default" type="submit" ><span>Entrar</span></button>
</span>
</div>
</form>
经过多次测试后,我看到当我转换回此页面时,textFields正在重复。
我真的无法弄明白,为什么