我刚刚开始使用 Meteor 和 Iron Router ,所以我遇到了一些问题。
我希望有一个非常基本的网站并且几乎就在那里但是当重新使用其中一个模板用于各种目录时,页面不会刷新,导致它显示上一页,尽管URL显示正确页。
一旦我在浏览器上点击刷新,那么页面实际上将使用正确的页面重新加载,但我宁愿不必总是刷新页面而只想点击链接并获得正确的信息。
我尝试过一些我见过的类似问题的解决方案,但它们似乎都比我的更独特。我已经包含了来自 meteor 的.js
文件。
Router.route('/', function () {
this.render('iotprofiler');
});
Router.route('index.html', function () {
this.render('iotprofiler');
});
Router.route('/device(.*)', function () {
//document.location.reload(true);
this.render('profile');
});
if(Meteor.isClient){
//this code only runs on the client
var directory = Iron.Location.get().path;
var start = directory.lastIndexOf("/");
var stop = directory.search(".html");
var parseddir = directory.slice(start + 1,stop);
console.log(parseddir);
Template.iotprofiler.helpers({
'device': function(){
return DeviceList.find();
}
});
Template.profile.helpers({
'iotdevice': function(){
return DeviceList.find({model: parseddir});
}
});
}
答案 0 :(得分:0)
您的问题是parseddir
不是reactive。
解决方案是遵循铁路由器的文档rendering template with data。
在呈现时,只需将parseddir
作为数据提供给profile
模板,并在帮助程序中使用this.parseddir
来获取实际数据。