我有一条铁路由器路由来更新特定项目的数据:
Router.route('/project/:key/update', {
...
});
每次用户导航到"编辑项目页面"我想关注项目名称输入。
template.onRendered(function() {
this.$('form input[name="project_name"]').focus();
});
当从仪表板导航到任何给定的编辑项目页面时,这非常有用。但是,导航到/从一个项目页面导航到另一个项目页面onRendered
功能不会重新运行,因此输入不会集中。
答案 0 :(得分:6)
您可以强制onRendered在上下文更改后重新评估,方法是在currentData内添加autorun支票,如下所示:
Template.myTemplate.onRendered(function() {
var self = this;
this.autorun(function() {
// hack to force the autorun to reevaluate
Template.currentData();
// insert onRendered code here
self.$('form input[name="project_name"]').focus();
});
});
有关详细信息,请参阅this issue的结尾。