如何使用通过 riot.route() 获得的参数?

How can I use parameter I get through riot.route()?

riot.route('/*', function(category) {
    riot.mount('#main', 'category-page', category)
})

当URL改变时,我想获取参数为"category"并在<category-page>中使用它。 我在 <category-page> 中尝试了 console.log(this.opts.category),但我得到的是未定义的。

riot.route('/*', function(category) {
    riot.mount('#main', 'category-page', category)
    console.log(category)
})

当我像上面那样编码时,console.log(category) 运行良好。所以我认为传递或获取参数是错误的。我尝试了很多案例,但我无法解决。 请帮我解决这个问题。

根据 riot.js 路由器 api 调用时的文档 riot.mount(selector, tagName, [opts]) 您应该传递一个将在您的代码中设置为 this.opts 的对象。

因此您的路由器代码应如下所示:

riot.route('/*', function(category) {
    riot.mount('#main', 'category-page', {category: category})
});