vue语法规范

//模板
<script>
export default {    
    name: "MyComponent",
    /* 可用组件 使用组件MyTable时,可以直接使用<my-table>标签,html不区分大小写,vue对使用驼峰命名法的组件会自动转换为间隔符-*/
    components: { MyTable},
    filters: {
      dateFormate(date) {
        return dateTimeFormate(date)
      }
    },
    /* 父组件传递数据 */
    props: {
      /*决策事件名称*/
      eventCode: {
        type: [Boolean,String],
        required: true
      }
    },
    /* 数据 */
    data() {
      return {
          versionId: 0,
      }
    },
    /* 计算方法 */
    computed: {},
    created() {
		this.versionId = this.$route.query.versionId
    },
    /* 方法 */
    methods: {
      refresh(){}
    }
  }
}
</script>
组件/实例的选项的顺序
  1. 副作用 (触发组件外的影响)
    • el
  2. 全局感知 (要求组件以外的知识)
    • name
    • parent
  3. 组件类型 (更改组件的类型)
    • functional
  4. 模板修改器 (改变模板的编译方式)
    • delimiters
    • comments
  5. 模板依赖 (模板内使用的资源)
    • components
    • directives
    • filters
  6. 组合 (向选项里合并属性)
    • extends
    • mixins
  7. 接口 (组件的接口)
    • inheritAttrs
    • model
    • props/propsData
  8. 本地状态 (本地的响应式属性)
    • data (){return {}}
    • computed
  9. 事件 (通过响应式事件触发的回调)
    • watch
    • 生命周期钩子 (按照它们被调用的顺序)
      • beforeCreate
      • created (){}
      • beforeMount
      • mounted
      • beforeUpdate
      • updated
      • activated
      • deactivated
      • beforeDestroy
      • destroyed
  10. 非响应式的属性 (不依赖响应系统的实例属性)
    • methods
  11. 渲染 (组件输出的声明式描述)
    • template/render
    • renderError
元素特性的顺序
  1. 定义 (提供组件的选项)
    • is
  2. 列表渲染 (创建多个变化的相同元素)
    • v-for
  3. 条件渲染 (元素是否渲染/显示)
    • v-if
    • v-else-if
    • v-else
    • v-show
    • v-cloak
  4. 渲染方式 (改变元素的渲染方式)
    • v-pre
    • v-once
  5. 全局感知 (需要超越组件的知识)
    • id
  6. 唯一的特性 (需要唯一值的特性)
    • ref
    • key
    • slot
  7. 双向绑定 (把绑定和事件结合起来)
    • v-model
  8. 其它特性 (所有普通的绑定或未绑定的特性)
  9. 事件 (组件事件监听器)
    • v-on
  10. 内容 (覆写元素的内容)
    • v-html
    • v-text
在使用 UniApp 开发过程中,如果遇到 Vue 语法检查失败的问题,可能是由于代码中存在不符合 Vue 模板语法规范的写法,或者项目配置文件、依赖版本不兼容导致的。以下是一些常见的原因及解决方法: ### 1. 检查 Vue 模板语法是否符合规范 Vue3 对模板语法有更严格的校验,特别是在使用 `<template>` 标签时需要注意: - **避免使用 `<block>` 标签**:Vue3 模板中不再支持 `<block>` 标签,应改用 `<template>`,并确保其与其他指令(如 `v-if` 或 `v-for`)结合使用,否则内容将不被渲染[^3]。 - **检查指令拼写和使用方式**:例如 `v-model`、`v-if`、`v-for` 等是否正确使用,避免拼写错误或在不支持的标签上使用。 - **避免使用 JSX 语法**:如果项目中使用了 JSX 语法(例如在 `pages.json` 或 `manifest.json` 中配置的脚本文件),可能与 Vue3 的模板语法检查冲突,建议改用标准的 Vue 模板写法。 ### 2. 检查组件引入与注册方式 在 Vue3 中,组件的引入和注册方式有所变化: - **手动注册自定义组件**:确保所有自定义组件都归类到 `components` 文件夹中,并在使用前通过 `components` 选项进行注册。 - **uni-ui 组件的导入方式**:升级到 Vue3 后,需检查 uni-ui 扩展组件的导入方式是否兼容,必要时通过 `uni_modules` 或插件方式重新安装并配置。 ### 3. 检查项目配置文件 - **pages.json 配置问题**:确保 `pages.json` 中页面路径、样式配置、窗口设置等没有语法错误或非法字符。 - **manifest.json 配置问题**:检查代理配置(proxy)是否正确,避免代理设置不兼容导致构建失败。 ### 4. 检查构建工具与依赖版本 - **确保使用支持 Vue3 的 uni-app 编译器版本**:如果使用的是旧版 HBuilderX 或 CLI 工具,可能不支持 Vue3 的语法检查,建议升级到最新版本。 - **更新依赖库版本**:包括 `@dcloudio/uni-app`, `@dcloudio/uni-mp-vue3`, `@vitejs/plugin-vue` 等依赖是否为最新兼容版本。 ### 5. 使用 Vue3 迁移指南辅助排查 参考官方文档《[Vue2升级到Vue3迁移指南](https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html)》,逐项检查项目中可能存在的兼容性问题,例如图片引入方式、模板语法变化、模块化结构调整等[^3]。 ### 示例:检查并修复模板语法错误 ```vue <template> <view v-for="item in list" :key="item.id"> {{ item.name }} </view> </template> ``` 如果误写为: ```vue <block v-for="item in list" :key="item.id"> <view>{{ item.name }}</view> </block> ``` 应改为: ```vue <template v-for="item in list" :key="item.id"> <view>{{ item.name }}</view> </template> ``` ### 6. 使用 IDE 插件辅助检查 安装并启用支持 Vue3 的语法检查插件,例如 VSCode 的 Volar 插件,可以帮助识别模板中的语法错误。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值