支持流星和铁路由器中具有嵌套属性的多个参数
Supporting multiple parameters with nested properties in Meteor and Iron Router
使用
Meteor 和 Iron Router,我创建了使用多个参数的动态页面路径。但是,如果我尝试访问路径中的嵌套/子属性,路由会中断。这些帖子很有帮助,但没有涉及子属性:
具有多个参数的铁路由器嵌套路由
流星铁路由器嵌套路由
铁路由器
this.route('location',{
path: '/properties/:foo/:_id',
waitOn: function(){
return Meteor.subscribe('properties', this.params._id);
},
action: function(){
this.render('propertyPage', {
data: function(){
return Properties.findOne(this.params._id);
}
});
}
});
标记(作品)
<a href="{{pathFor 'location' foo=bar }}">Click Me</a>
尝试引用标记中的嵌套属性时,它会中断:
标记(不起作用)
<a href="{{pathFor 'location' foo=bar.nestedChild }}">Click Me</a>
我也在javascript中尝试过,但没有运气:
path: '/properties/:foo.nestedChild/:_id',
有没有办法在不破坏铁路由器的情况下引用嵌套属性?
---编辑---
对于更实际的示例:
// data context from route action (Properties.findOne(this.params._id))
property = {
_id: "3cu7B8b6K3EzCgYnQ"
address: {
city: 'Houston',
state: 'TX',
zip: 77006,
lat: null,
lng: null
},
images: ['img1.png', 'img2.png', 'img3.png'],
schools: [
{ grade:'elementary', name:'Haude', rating:4 },
{ grade:'middle', name:'Strauke', rating:5 },
{ grade:'high', name:'Klein', rating:3 },
]
}
我正在尝试构建这样的 url 架构:
path: '/properties/:address.city/:address.state/:address.zip/:_id'
或者在示例的情况下:
"/properties/Houston/TX/77006/3cu7B8b6K3EzCgYnQ"
在你的路由中,如果你想使用它,你需要从 params 对象中获取 :foo:
var foo = this.params.foo;
现在有点太晚了,但无论如何,有人可能会受益。我通过以下方式解决了它:
定义嵌套路径(顺便说一句,以这种方式定义路径对 SEO 更好)
<a href="/user/{{owner.id}}/playlist/{{id}}"> Content </a>
路由器
this.route('playlistItem', {
path: '/user/:owner/playlist/:playlist',
onBeforeAction: function() {
// You can get your params
var ownerId = this.params.owner
var playlistId = this.params.playlist
// execute some code
},
});
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 设置嵌套对象属性的更好方法
- 从嵌套函数访问函数属性
- Javascript嵌套函数属性继承
- 访问嵌套 json 对象的属性将返回未定义
- 从嵌套对象属性中获取排除某个值的最高值
- 访问键中包含空格的嵌套属性
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 正在检查对象javascript中是否存在嵌套属性
- 传递数量不确定的可能嵌套的对象属性
- 更新JavaScript对象中的嵌套属性
- 搜索具有特定属性集的非嵌套节点
- 如何使用get()获取嵌套的Scope属性
- 使用 jQuery 传递的 Rails 嵌套属性
- 如何迭代json对象的嵌套属性并创建新的数组列表
- 访问嵌套对象中父对象的属性
- HTML5嵌套数据-*用Javascript解析的属性don't返回嵌套对象
- 如何获得"src”;来自多个嵌套iframe源的属性
- Javascript对象/名称空间-如何访问从嵌套函数添加的属性(包括示例)
- 未定义的属性嵌套的 JavaScript 对象