在uni-app项目中,有两种类型的页面:.vue和.nvue文件。两者的区别在于,.vue文件使用webview渲染,而.nvue使用原生渲染。页面是符合Vue的单文件组件(SFC)规范的.vue或.nvue文件。为了实现多终端兼容和综合编译速度、运行性能等因素,页面文件依然遵循Vue单文件组件规范。组件特点:组件是视图层的基本单元。组件是对单个可重用功能模块的封装。每个组件包括以下部分:开始标签和结束标签,分别标示组件名称、组件内容、组件属性和组件属性值。组件名称包裹在尖括号中,称为标签,它有一个开始标签和一个结束标签。在结束标签的<之后使用/表示结束。结束标签也称为结束标签。如下例所示,是开始标签,是结束标签。在开始标签和结束标签之间称为组件内容。如下面示例的内容。属性可以写在开始标签上,可以有多个属性,用空格隔开。就像下面示例中的property1和property2。请注意,属性不能写在结束标记上。每个属性都通过=分配一个值。如下例所示,属性property1的值设置为字符串值。uni-app支持的组件分为:vue组件。支持vueSFC规范。小程序自定义组件。组件规范不是vue规范,而是小程序规范。日常开发,推荐使用vue组件。uni-app支持小程序组件主要是为了兼容更多的生态资源。vueSFC规范是什么?我们在开发过程中创建的.vue文件用于表示单个组件。SFC的全拼是Single-File-Components,翻译成中文就是单文件组件。一个完整的单文件组件,顶层标签包括template、script、style,还可以添加可选的自定义块:组件内容scriptsetuplang="ts">import{ref}from'vue'consttitle=ref('Hello')这可能是例如组件的文档。vue-loader将解析文件并提取每个语言块。通过设置语言块的lang属性可以支持使用非默认语言,比如css预处理器,比如:/*writeSass!*/Vue3的一大特点:可以更好的全面支持TypeScript,所以:setup是vue3的语法糖,使用setup可以自动导出定义的变量和方法。template模板包含组件的html结构。您可以在该组件中使用其他组件。如果使用setup语法糖,导入的组件无需注册即可直接使用。如果不使用setup语法糖,需要在components中注册组件。每个.vue只能有一个匿名模板标签,在槽位使用的模板需要添加v-slot。不像vue2的模板标签,里面可以放多个根标签。脚本