让流星重新渲染“;新文档”;
Getting meteor to re-render a route for "new document"
我有一个新文档的路由"/new/"。我有一个去那里的按钮和看起来像的事件代码
Template.form.events({
"click #new": function() {
window.location.href = "/new/";
},
});
这起了作用,但我不想流星重新加载页面,这就是发生的事情。相反,我只想渲染路线。所以我尝试了这个
Template.form.events({
"click #new": function() {
Router.go("/new/");
},
});
现在什么都没发生。即使我在另一条使用相同顶级模板的路由上,也只会更改URL,但实际上并没有重新呈现路由。
我试着用Tracker修复这个问题。依赖
var someDummyDep = new Tracker.Dependency; // also tried Deps.Dependency();
Template.form.onCreated = function() {
var instance = this;
instance.autorun(function() {
someDummyDep.depend();
});
});
Template.form.events({
"click #new": function() {
someDummyDep.changed();
Router.go("/new/");
},
});
我不知道如何使模板依赖,但由于我有其他带有onCreated函数的模板,它们使用了反应性的东西,我认为这可能会奏效。它没有改变。什么都没有发生,什么都没有被重新渲染。
实际路线看起来就像这个
Router.route('/new/', function() {
this.render('form');
});
我试着把路线改成这个
Router.route('/new/', {
action: function() {
this.render('form');
},
data: function() {
someDummyDep.depend();
},
});
和这个
Router.route('/new/', {
action: function() {
this.render('form');
},
data: function() {
someDummyDep.depend();
return Math.random(); // ?? maybe if the data changes?
},
});
我也试过这个
Template.form.events({
"click #new": function() {
someDummyDep.changed();
Router.go("/new/", {}, {hash: Math.random().toString()});
},
});
它应该将URL设置为类似/new/#3243543623432
的东西,但它没有设置哈希,即使文档说它应该这样做。
我应该怎么做才能让流星/铁路由器重新渲染?
要解决您的第一个问题,请为您的路线命名并调用它,这将不会重新加载页面
路由器Js
Router.route('/new/', function() {
this.render('form');
},{
name:'new'
);
js
Template.form.events({
"click #new": function() {
Router.go('new')
},
});
如果你想通过一些id或其他
路由器Js
Router.route('/new/:something', function() {
this.render('form');
},{
name:'new'
);
js
Template.form.events({
"click #new": function() {
Router.go('new',{something:123})
},
});
或者只是一些散列
Router.route('/new', function() {
this.render('form');
},{
name:'new'
);
Template.form.events({
"click #new": function() {
Router.go('new',{},{hash: Math.random().toString()});
},
});
相关文章:
- 如何筛选要写入新文档的HTML,删除JavaScript中的某些类和/或ID
- 服务器上的 Meteor.publish 不会在客户端上显示新文档
- 使用JavaScript,我可以上传一个word文件并使用.replaces然后另存为新文档吗
- Indesign:将单元格样式复制到新文档
- 猫鼬创建一个包含分类子文档的新文档
- 不显示带有搜索的重复控件中的新文档
- 仅在 Meteorjs 中添加新文档时更新订阅
- MongoDB:将字段移动到新文档并更新字段和数组
- 在 Couchdb ( 虹膜沙发 ) POST 请求中添加新文档失败,状态为 500
- Mongodb upsert 无法添加新文档
- 使用集合钩子将新文档的 id 添加到现有文档中的数组中
- 如果字段不在新文档中,则更新插入会删除该字段
- 如何知道Mongoose'的追加销售创建了一个新文档
- 让流星重新渲染“;新文档”;
- 如何将样式表粘贴到Rally应用程序中的新文档窗口中
- 流星DDP:当一个新文档被添加到集合中时,如何获得通知
- 从查询组合集合插入一个新文档
- document.open()是创建一个完整的新文档还是只是删除已经存在的文档?
- 如何合并电子表格并在新文档中设置其选项卡顺序
- JavaScript -写入新文档会删除空格