我的困境是我想将多个对象属性传递给一个铁:Meteor中的路由器路由.原因是我想传递一个属性来命名我的url和一个属性来查找一个集合项目.它们完全相互独立,我不能使用url属性,因为它不是集合项中的值.这就是我所拥有的:
Template.items.events({
'click': function () {
itemName = this.name.replace(/ /g,'')
Router.go('itemDetails', {itemName: itemName})
}
});
Run Code Online (Sandbox Code Playgroud)
问题是虽然路由器处理这个问题并将我发送到正确的URL,但我不能itemName用来找到我正在寻找的集合项对象(假设这是不可能的).
Router.route('/items/:itemName', {
name: 'itemDetails',
data: function() {return Items.findOne({name: this.params.itemName})}
});
Run Code Online (Sandbox Code Playgroud)
上面的路由器配置不会返回任何内容,因为name != this.params.itemName任何对象.
我试过传递this对象,或者创建具有多个属性的对象,但铁:路由器不会有它.
任何帮助表示赞赏,谢谢.
编辑#1:为了帮助进一步解释问题,我的问题与路由到在URL中使用多个ID的页面相同.例如,我如何将属性传递给iron:路由器来填充:_id和:itemId属性?
Router.route('items/:_id/:_itemId', {
name: 'detailDetails',
data: function() {...}
});
Run Code Online (Sandbox Code Playgroud)
编辑#2:我特别想要做的是将两个属性传递给iron:router并将其中一个属性附加到URL,另一个用于路由的data属性以返回集合项.例:
....
Router.go('itemDetails', {_id: itemBeingPassedId, itemName: nameToBeAppendedToURL})
....
Router.route('/items/:itemName', {
name: 'itemDetails',
data: function(){return Items.findOne(_id)
});
Run Code Online (Sandbox Code Playgroud)
每当我尝试这样做时,它都表示_id未定义.所以基本上,我怎样才能将属性传递给dataURL,而不将其作为URL的一部分并使用this.params?
我们在 Elastic Cloud 上部署了一个 elasticsearch 集群,并希望将监控/运行状况指标发送到 Datadog。最好的方法是什么?
看来我们的选择是:
我想找到一种使用Python以自下而上的方式遍历目录树的方法.目标是找到一个目录,该目录在当前目录之上或之下是未知距离.
我做了一个图表,我希望我的问题更清楚:

红色框是起始点,绿色框是目标文件夹的可能位置,其中只需要找到一个,而不是两者.
如果目标框是/ One/_One/_One,那么我希望脚本上升到/ One,然后一直遍历到/ One/_One/_One.
如果目标文件夹是/ Three,那么我希望脚本执行与上面相同的操作,然后继续执行/ Two和/ Two/_Two,找不到它,然后最终到达/ Three.或者,在检查所有/ One后,它会转到/然后找到/ Three,跳过/ Two的遍历.
任何帮助,将不胜感激.我一直在查看所有的os.path和os.walk方法,但还没有找到我的解决方案.
datadog ×1
iron-router ×1
javascript ×1
logstash ×1
meteor ×1
metricbeat ×1
os.path ×1
os.walk ×1
python ×1
routes ×1