鉴于明确的路线,
page.js
array_merge
以下作品并显示文字。
myview.pug
router.post('/results', (req, res, next) => {
output.terms = "hello"
output.results = [{"text": "hello world"}, {"text": "hello sunshine"}]
res.render("/myview",output)
})
但是以下vue组件没有。我收到了extends ../layout.pug
block content
each result in results
span=result.text
结果-view.vue
TypeError: results is undefined
myview.pug
<template lang="pug">
li(v-for='result in results')
span {{ result.text }}
</template>
<script>
export default {
...
}
</script>
如何将数据从路由器传递到vue组件?
答案 0 :(得分:0)
你应该想到其他一些解决方案。将数据从路由传递到组件没有意义。 您可以创建一个返回数据的API端点,在Vue中,您可以通过请求访问它。
答案 1 :(得分:0)
最后,这很有效。可能不是最好的做法(我不确定,真的),如评论员serkan警告
结果-view.vue
<template lang="pug">
li(v-for='result in results')
span {{ result.text }}
</template>
<script>
export default {
name: 'results-view',
props: ['results']
...
}
</script>
myview.pug
extends ../layout.pug
block content
results-view(results=results)