luk*_*ups 3 routing meteor iron-router
我有两个型号:sites和articles.每个站点可以有多个文章.我想在这条路线中查看这篇文章:/siteName/articleFriendlyTitleUrl.目前我有帮助方法来制作这样友好的网址:
getFriendlyUrl = function(urlString){
urlString = urlString.toLowerCase();
urlString = str.replace(/[^a-z0-9\s]/gi, '').replace(/[_\s]/g, '-');
return urlString;
}
Run Code Online (Sandbox Code Playgroud)
我的router.js档案:
this.route('showArticle', {
path: '/article/:title'),
layoutTemplate: 'artLayout',
data: function(){
viewData = {
title: Articles.findOne({title: this.params.title}),
site: Sites.findOne({name: this.name})
}
return viewData;
});
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何实现这个?我也试过这个路径:
/:siteName/:articleId
Run Code Online (Sandbox Code Playgroud)
但没有成功 - 任何建议?
我建议在文章文档中保存slug.当用户添加/编辑文章时,App可以使用Underscore.String.slugify函数(https://github.com/epeli/underscore.string)从标题生成slug .
具有多个参数的路线有效:
this.route('showArticle', {
path: '/:siteName/:articleSlug'),
...
data: function(){
viewData = {
title: Articles.findOne({slug: this.params.articleSlug}).title,
site: Sites.findOne({name: this.params.siteName})
}
return viewData;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |