SFC 语法定义 
总览 
一个 Vue.py 单文件组件 (SFC),通常使用 *.vue 作为文件扩展名,它是一种使用了类似 HTML 语法的自定义文件格式,用于定义 Vue.py 组件。一个 Vue.py 单文件组件在语法上是兼容 HTML 的。
每一个 *.vue 文件都由三种顶层语言块构成:<template>、<script> 和 <style>,以及一些其他的自定义块:
vue
<template>
  <div class="example">{{ msg.value }}</div>
</template>
<script lang='py'>
from vuepy import ref
msg = ref("Hello World!")
</script>
<style>
.example {
  color: red;
}
</style>
<custom1>
  This could be e.g. documentation for the component.
</custom1>相应语言块 
<template> 
- 每个 - *.vue文件最多可以包含一个顶层- <template>块。
- 语块包裹的内容将会被提取、传递给 - compiler-dom,预编译为 Python 渲染函数,并附在导出的组件上作为其- render选项。
<script lang='py'> 
- 每个 - *.vue文件最多可以包含一个- <script lang='py'>。(不包括一般的- <script>)
- 这个脚本块将被预处理为组件的 - setup()函数,这意味着它将为每一个组件实例都执行。- <script lang='py'>中的顶层绑定都将自动暴露给模板。要了解更多细节,请看- <script lang='py'>的专门文档。
 <style>  
WARNING
请注意,这是一个预留的语法,当前版本未实现。
- 每个 - *.vue文件可以包含多个- <style>标签。
- 一个 - <style>标签可以使用- scoped或- moduleattribute (查看 SFC 样式功能了解更多细节) 来帮助封装当前组件的样式。使用了不同封装模式的多个- <style>标签可以被混合入同一个组件。
自定义块 
WARNING
请注意,这是一个预留的语法,当前版本未实现。
在一个 *.vue 文件中可以为任何项目特定需求使用额外的自定义块。举例来说,一个用作写文档的 <docs> 块。这里是一些自定义块的真实用例:
自定义块的处理需要依赖工具链。如果你想要在构建中集成你的自定义语块,请参见 SFC 自定义块集成工具链指南获取更多细节。
预处理器 
WARNING
请注意,这是一个预留的语法,当前版本未实现。
代码块可以使用 lang 这个 attribute 来声明预处理器语言,最常见的用例就是在 <script> 中使用 TypeScript:
template
<script lang="ts">
  // use TypeScript
</script>lang 在任意块上都能使用,比如我们可以在 <style> 标签中使用 Sass 或是 <template> 中使用 Pug:
template
<template lang="pug">
p {{ msg }}
</template>
<style lang="scss">
  $primary-color: #333;
  body {
    color: $primary-color;
  }
</style>注意对不同预处理器的集成会根据你所使用的工具链而有所不同,具体细节请查看相应的工具链文档来确认:
src 导入 
如果你更喜欢将 *.vue 组件分散到多个文件中,可以为一个语块使用 src 这个 attribute 来导入一个外部文件:
vue
<!-- 暂不支持 <template src="./template.html"></template>-->
<!-- 暂不支持 <style src="./style.css"></style>-->
<script src="./script.py"></script>请注意 src 导入和 Python 模块导入遵循相同的路径解析规则,这意味着:
- 相对路径需要以 ./开头
- src文件中需要定义setup函数
WARNING
请注意,这是一个预留的语法,当前版本未实现。 src 导入对自定义语块也同样适用:
vue
<unit-test src="./unit-test.js">
</unit-test>注释 
在每一个语块中你都可以按照相应语言 (HTML、CSS、JavaScript 和 Pug 等等) 的语法书写注释。对于顶层注释,请使用 HTML 的注释语法 <!-- comment contents here -->