如何将数据从express的渲染传递到vue组件?

时间:2018-01-22 10:51:09

标签: javascript express vue.js

鉴于明确的路线,

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组件?

2 个答案:

答案 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)