Nuxt.js服务端渲染demo实践

安装

  • 全局安装vue-cli(若已安装,直接跳过)
  • vue init nuxt-community/starter-template <project-name>

路由创建

在page目录中创建.vue文件或目录,nuxt会为我们自动创建路由
page
|---- index.vue (对应路由为 /
|---- login.vue (对应路由为/detail
|---- user
|---------- account.vue (对应路由为/user/account.vue
|---------- index.vue (对应路由为 /user
|---- topic
|--------detail
|------------_id
|----------------index.vue (对应路由为 /topic/detail/:id

异步数据获取

使用钩子函数asyncData

<template>
    <div class="topic-list">
        <p @click="loadMore">topicList</p>
        <p v-for="item in list" :key="item">{{item}}</p>
    </div>
</template>
<script>
export default {
    name: 'topicList',
    data () {
        return {
        };
    },
    asyncData () {
        return new Promise((resolve, reject) => {
            setTimeout( ()=> {
                resolve([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
            }, 1000)
        }).then((data) => {
            return {list: data};
        })
    },
    methods: {
        loadMore () {
            this.list = this.list.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);
        }
    }
};
</script>

后续慢慢再补充吧,反正也是给自己叨逼叨叨逼叨的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容