开发规范

为了实现多端兼容,综合考虑编译速度、运行性能等因素,uni-app 约定了如下开发规范:

  • 页面文件遵循 Vue 单文件组件 (SFC) 规范
  • 组件标签靠近小程序规范,详见uni-app 组件规范
  • 接口能力(JS API)靠近微信小程序规范,但需将前缀 wx 替换为 uni,详见uni-app接口规范
  • 数据绑定及事件处理同 Vue.js 规范,同时补充了App及页面的生命周期
  • 为兼容多端运行,建议使用flex布局进行开发

    目录结构

    index.vue

    介绍

    遵循vue的单文档组件开发规范
    一个vue文件会存在三个顶级语言模块,分别是

  • template:模板层

  • script:脚本层
  • style:样式层


实例:

数据的双向绑定,实现同步更改两个文本内容

  1. <template>
  2. <view class="content">
  3. <image class="logo" src="/static/logo.png"></image>
  4. <view class="text-area">
  5. <text class="title">{{title}}</text>
  6. <input type="text" :value="title" @input="change" /> ********关键部分********
  7. </view>
  8. </view>
  9. </template>
  10. <script>
  11. export default {
  12. data() {
  13. return {
  14. title: 'Hello'
  15. }
  16. },
  17. onLoad() {
  18. },
  19. methods: { ********用户自定义方法********
  20. change(e){ ********关键部分********
  21. var txtTitle = e.detail.value; ********关键部分********
  22. this.title = txtTitle; ********关键部分********
  23. }
  24. }
  25. }
  26. </script>
  27. <style>
  28. .content {
  29. display: flex;
  30. flex-direction: column;
  31. align-items: center;
  32. justify-content: center;
  33. }
  34. .logo {
  35. height: 200rpx;
  36. width: 200rpx;
  37. margin-top: 200rpx;
  38. margin-left: auto;
  39. margin-right: auto;
  40. margin-bottom: 50rpx;
  41. }
  42. .text-area {
  43. display: flex;
  44. justify-content: center;
  45. }
  46. .title {
  47. font-size: 36rpx;
  48. color: #8f8f94;
  49. }
  50. </style>

资源路径说明

生命周期

生命周期

路由

运行环境判断

页面样式与布局

ES6支持

NPM支持

TypeScript支持

小程序自定义组件支持

WXS

render.js