2016-11-08 3 views
1
riot.route('/*', function(category) { 
    riot.mount('#main', 'category-page', category) 
}) 

При изменении URL я хочу получить параметр как «категория» и использовать его в <category-page>. Я пробовал console.log(this.opts.category) в <category-page>, но то, что я получил, не определено.Как я могу использовать параметр, который я получаю через riot.route()?

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

Когда я код, как указано выше, console.log(category) хорошо работает. Поэтому я думаю, что ошибаюсь в передаче или получении параметра. Я пробовал много дел, но я не мог его решить. Пожалуйста, помогите мне с этой проблемой.

ответ

0

Согласно документации riot.js router api при вызове riot.mount(selector, tagName, [opts]) вы должны передать объект, который будет установлен в this.opts в вашем теге.

Так что ваш код маршрутизатор должен выглядеть примерно так:

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

Спасибо за вашу помощь. Он работает хорошо. Я проверил документ, и я думаю, что он говорит 'riot.mount (selector, tagName, api)'. В любом случае, я очень ценю вас! – Hiro