我的代码直到昨晚才正常工作,突然我得到了这个错误,路由根本不能工作。
middleware_stack.js:31Uncaught Error: Handler with name 'route' already exists.
对于像这样的简单路由:
Router.route('/admin/dashboard', {
template:"adminDashboard"
});
Router.route('/admin/create/table', {
template:"create_table"
});
我找不到错误,我已经检查了所有的路由。其他人有没有遇到过这个错误?
发布于 2016-03-29 13:26:36
编辑:此堆栈已在iron:middleware- issue 1.1.0中修复。
我也有同样的问题。奇怪的是,我在Chrome51上遇到了这个问题,但在Chrome46上却没有。我猜这与javascript引擎的更新有关,如果我弄清楚具体是什么,我会在这里发帖。
同时,我使用的变通方法是显式地将名称添加到路由。它们是什么并不重要,只需声明它们,否则iron-router会认为路由的名称是“route”。所以你的代码会变成:
Router.route('/admin/dashboard', {
name: "Boaty_McBoatface",
template:"adminDashboard"
});
Router.route('/admin/create/table', {
name: "Guacamole",
template:"create_table"
});
发布于 2016-03-16 18:14:06
首先,看一下here,看看这个错误是什么时候抛出的。所以,实际上我还没有遇到这个错误,但我已经读过了。进一步了解一下official guide和post。我看到您正在尝试创建一个指向路由/admin
的子目录。通常,我通过使用this.render()
函数来完成此操作。关于布局,我使用this.layout()
,所以我认为如果你使用这些函数并删除template:"adminDashboard"
。看起来不错。
https://stackoverflow.com/questions/36031706
复制相似问题