Nuxt页面作为组件?

时间:2020-04-06 18:43:56

标签: javascript vue.js nuxt.js

我对Nuxt陌生,但对Vue不陌生。我的理解是Nuxt页面是组件。在使用Nuxt脚手架设置站点之后,诸如asyncData和计算属性之类的东西在默认的index.vue文件上可以正常工作。但这不适用于子目录中的页面,或者我不知道该怎么做。如果在/session/books.vue页面上,如果我执行以下操作:

<template>{{ name }}, {{allBooks }}</template>

<script>export default {

   asyncData (context) {
    return {name: 'world'}
   },

   computed: {
    allBooks () {
      return this.$store.state.books.all
      // or even just return 'hello'
    }
  }
 }
</script>

我收到“ Uncaught SyntaxError:意外的标记'export'”,外加一个警告'属性或方法未在实例上定义,但在渲染期间引用了'name'和'allBooks'。我是否对脚本元素进行了错误编码,或者是否存在规则来管理我不知道的页面组件的行为?当然,我不需要将每个页面都注册为组件吗?这些似乎都是非常基本的事情,但是整个上午我都在Google上进行了搜索,查看了文档,但没有提出任何有用的帮助。

1 个答案:

答案 0 :(得分:1)

您的模板部分无效。模板部分必须是有效的html,并且只能包含1个根元素。