我有一个搜索页面和一个编辑页面。我搜索用户,然后当我得到结果时,我可以编辑用户。我正在使用 CanJS,并且为每个页面定义了路由。
, 'search route': function (data) {
new FormUserQuery('#formArea', {});
}
}
, 'edit/:id route': function (data) {
new FormUser('#formArea', {}).renderView(+data.id);
}
}
在 FormUser 中,我有一个 saveButton 的单击事件。如果我搜索用户然后按编辑按钮,更改某些内容并保存更改,它工作正常。但是,如果保存后,我返回搜索页面并执行与之前相同的操作,则保存按钮将被调用两次。我不知道为什么会这样。我究竟做错了什么?
编辑 我让它工作。每当我点击一个新的编辑按钮时,不知何故,视图被放置在另一个之上,它并没有取代旧的。
所以我尝试了这个并且它有效:
, 'search route': function (data) {
if (typeof self.form === 'undefined')
{
self.form = new MegaControl.FormUserQuery('#formArea', {});
}
else {
self.form.destroy();
self.form = new MegaControl.FormUserQuery('#formArea', {});
}
}
, 'edit/:id route': function (data) {
if (typeof self.form === 'undefined') {
self.form = new MegaControl.FormUser('#formArea', {})
self.form.renderView(+data.id);
}
else {
self.form.destroy();
self.form = new MegaControl.FormUser('#formArea', {});
self.form.renderView(+data.id);
}
}