我已将流星应用程序从0.8升级到1.0。它在生产模式下升级到1.0之前工作正常。升级后我在生产模式中遇到错误。 正如我已经在home.js中定义了我的路线
Router.map(function() {
this.route('home', {
path: '/',
controller: 'Controller1'
});
});
Controller1 = RouteController.extend({
layoutTemplate: 'Layout1',
onAfterAction: function() {
setTimeout(function(){ $('#l').focus(); }, 600);
this.next;
}
});
在开发模式下它工作正常,但是当我在生产模式下运行应用程序时,它正在给我找不到的错误路径。
请帮我摆脱它。提前谢谢。
答案 0 :(得分:0)
我和@Moshikaro有同样的问题:)
查看我工作的Meteorpad。
http://meteorpad.com/pad/fRzpHPYMwRGPirWAD/Routing
<强> [编辑] 强>
您的home.js
应该是这样的
Controller1 = RouteController.extend({
layoutTemplate: 'Layout1',
name: 'home',
onAfterAction: function() {
Meteor.setTimeout(function() {
$('#l').focus();
}, 600);
}
});
Router.map(function() {
this.route('home', {
path: '/',
controller: 'Controller1'
});
});
答案 1 :(得分:0)
迁移到meteor 1.0并因此铁:路由器1.0后,我不得不修改我的router.js文件。首先,我只在onRun()和onBeforeAction()钩子中包含this.next(),你不需要把它放在onAfterAction AFAIK上。
此外,我不再使用Router.map()了,我根据文档定义了所有路由:https://github.com/EventedMind/iron-router
所以尝试修改你的代码:
Router.route('home', function () {
this.render('home');
}, {
layoutTemplate: 'Layout1',
path: '/',
onAfterAction: function(){
setTimeout(function(){ $('#l').focus(); }, 600);
}
});
干杯,