当前位置: 首页 > news >正文

爱站工具包做网站为什么每年都要续费

爱站工具包,做网站为什么每年都要续费,谷歌seo营销,兰州网架公司UniApp 与微信小程序详细对比 1. 开发环境 微信小程序: 主要使用微信开发者工具提供模拟器、调试工具和性能监控只能开发微信小程序 UniApp: 主要使用 HBuilderX,但也支持 VS Code 等其他编辑器HBuilderX 提供可视化界面、代码提示、调试工…

UniApp 与微信小程序详细对比

1. 开发环境

  • 微信小程序:
    • 主要使用微信开发者工具
    • 提供模拟器、调试工具和性能监控
    • 只能开发微信小程序
  • UniApp:
    • 主要使用 HBuilderX,但也支持 VS Code 等其他编辑器
    • HBuilderX 提供可视化界面、代码提示、调试工具等
    • 可以开发多平台应用,包括小程序、H5、App 等

2. 项目结构

  • 微信小程序:
    ├── pages/                 # 页面文件夹
    ├── components/            # 自定义组件文件夹
    ├── utils/                 # 工具函数文件夹
    ├── app.js                 # 全局 JS
    ├── app.json               # 全局配置
    ├── app.wxss               # 全局样式
    └── project.config.json    # 项目配置文件
    
  • UniApp:
    ├── pages/                 # 页面文件夹
    ├── components/            # 自定义组件文件夹
    ├── static/                # 静态资源文件夹
    ├── store/                 # Vuex 状态管理(可选)
    ├── App.vue                # 应用配置,用来配置App全局样式以及监听应用生命周期
    ├── main.js                # Vue 初始化入口文件
    ├── manifest.json          # 配置应用名称、图标、权限等打包信息
    └── pages.json             # 配置页面路由、导航条、选项卡等页面类信息
    

3. 页面文件

  • 微信小程序:
    • .wxml:页面结构(类似 HTML)
    • .wxss:页面样式(类似 CSS)
    • .js:页面逻辑
    • .json:页面配置
  • UniApp:
    • .vue 文件,包含三个部分:
      • <template>:页面结构(支持小程序组件和 HTML 标签)
      • <script>:页面逻辑
      • <style>:页面样式(支持 CSS 预处理器,如 SCSS、Less)

4. 基础组件

微信小程序UniApp说明
viewview视图容器,类似于 div
texttext文本组件
imageimage图片组件
buttonbutton按钮组件
inputinput输入框组件
textareatextarea多行输入框组件
scroll-viewscroll-view可滚动视图区域
swiperswiper滑块视图容器
navigatornavigator页面链接组件
progressprogress进度条组件
checkboxcheckbox多选框组件
radioradio单选框组件
pickerpicker底部弹起的滚动选择器
sliderslider滑动选择器
switchswitch开关选择器
formform表单组件

注:UniApp 支持更多 HTML5 标准组件,在 App 端和 H5 端表现更接近标准 HTML。

5. 生命周期

微信小程序UniApp (Vue3 组合式 API)说明
onLoadonLoad页面加载时触发
onShowonShow页面显示时触发
onReadyonReady页面初次渲染完成时触发
onHideonHide页面隐藏时触发
onUnloadonUnload页面卸载时触发
onPullDownRefreshonPullDownRefresh用户下拉刷新时触发
onReachBottomonReachBottom页面上拉触底时触发
onShareAppMessageonShareAppMessage用户点击右上角分享时触发
onPageScrollonPageScroll页面滚动时触发
onTabItemTaponTabItemTap点击 tab 时触发
onResizeonResize页面尺寸变化时触发

注:

  1. UniApp 在 Vue3 组合式 API 中,这些钩子需要单独引入使用。
  2. UniApp 还提供了额外的应用生命周期,如 onLaunch、onShow、onHide 等。

6. 数据绑定与更新

  • 微信小程序:

    Page({data: {message: 'Hello',list: [1, 2, 3]},changeMessage() {this.setData({ message: 'Hi','list[0]': 4  // 修改数组元素})}
    })
    
    <view>{{message}}</view>
    <view wx:for="{{list}}" wx:key="*this">{{item}}</view>
    
  • UniApp (Vue3 组合式 API):

    import { ref, reactive } from 'vue'export default {setup() {const message = ref('Hello')const list = reactive([1, 2, 3])function changeMessage() {message.value = 'Hi'list[0] = 4  // 直接修改响应式数组}return {message,list,changeMessage}}
    }
    
    <view>{{message}}</view>
    <view v-for="item in list" :key="item">{{item}}</view>
    

7. 条件渲染

  • 微信小程序:
    <view wx:if="{{condition}}">True</view>
    <view wx:elif="{{condition2}}">Condition2</view>
    <view wx:else>False</view>
    
  • UniApp:
    <view v-if="condition">True</view>
    <view v-else-if="condition2">Condition2</view>
    <view v-else>False</view>
    

8. 列表渲染

  • 微信小程序:
    <view wx:for="{{items}}" wx:key="id">{{index}}: {{item.name}}
    </view>
    
  • UniApp:
    <view v-for="(item, index) in items" :key="item.id">{{index}}: {{item.name}}
    </view>
    

9. 事件处理

  • 微信小程序:
    <button bindtap="handleClick" data-id="{{item.id}}">点击</button>
    
    Page({handleClick(event) {const id = event.currentTarget.dataset.idconsole.log('Clicked item:', id)}
    })
    
  • UniApp:
    <button @click="handleClick(item.id)">点击</button>
    
    export default {methods: {handleClick(id) {console.log('Clicked item:', id)}}
    }
    

10. 路由导航

  • 微信小程序:
    // 页面跳转
    wx.navigateTo({ url: '/pages/about/about?id=1' })// 页面重定向
    wx.redirectTo({ url: '/pages/login/login' })// 页面返回
    wx.navigateBack({ delta: 1 })// Tab 切换
    wx.switchTab({ url: '/pages/home/home' })
    
  • UniApp:
    // 页面跳转
    uni.navigateTo({ url: '/pages/about/about?id=1' })// 页面重定向
    uni.redirectTo({ url: '/pages/login/login' })// 页面返回
    uni.navigateBack({ delta: 1 })// Tab 切换
    uni.switchTab({ url: '/pages/home/home' })
    

11. 网络请求

  • 微信小程序:
    wx.request({url: 'https://api.example.com/data',method: 'GET',data: { id: 1 },header: {'content-type': 'application/json'},success(res) {console.log(res.data)},fail(err) {console.error(err)}
    })
    
  • UniApp:
    uni.request({url: 'https://api.example.com/data',method: 'GET',data: { id: 1 },header: {'content-type': 'application/json'},success(res) {console.log(res.data)},fail(err) {console.error(err)}
    })
    
    注:UniApp 还支持使用 async/await 语法:
    try {const res = await uni.request({url: 'https://api.example.com/data',method: 'GET',data: { id: 1 }})console.log(res.data)
    } catch (err) {console.error(err)
    }
    

12. 存储

  • 微信小程序:
    // 设置存储
    wx.setStorageSync('key', 'value')// 获取存储
    const value = wx.getStorageSync('key')// 移除存储
    wx.removeStorageSync('key')// 清除所有存储
    wx.clearStorageSync()
    
  • UniApp:
    // 设置存储
    uni.setStorageSync('key', 'value')// 获取存储
    const value = uni.getStorageSync('key')// 移除存储
    uni.removeStorageSync('key')// 清除所有存储
    uni.clearStorageSync()
    

13. 组件创建和使用

  • 微信小程序:
    创建组件(my-component.js):

    Component({properties: {myProperty: {type: String,value: ''}},data: {innerValue: ''},methods: {myMethod() {// 方法实现}}
    })
    

    使用组件(在页面的 json 文件中):

    {"usingComponents": {"my-component": "/components/my-component/my-component"}
    }
    

    在 wxml 中:

    <my-component my-property="value"></my-component>
    
  • UniApp:
    创建组件(MyComponent.vue):

    <template><view>{{myProperty}}</view>
    </template><script>
    export default {name: 'MyComponent',props: {myProperty: {type: String,default: ''}},data() {return {innerValue: ''}},methods: {myMethod() {// 方法实现}}
    }
    </script>
    

    使用组件(在父组件中):

    <template><my-component :my-property="value"></my-component>
    </template><script>
    import MyComponent from '@/components/MyComponent.vue'export default {components: {MyComponent}
    }
    </script>
    

14. 全局配置

  • 微信小程序(app.json):
    {"pages": ["pages/index/index","pages/logs/logs"],"window": {"backgroundTextStyle": "light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "WeChat","navigationBarTextStyle": "black"},"tabBar": {"list": [{"pagePath": "pages/index/index","text": "首页"},{"pagePath": "pages/logs/logs","text": "日志"}]}
    }
    
  • UniApp:
    pages.json:
    {"pages": [{"path": "pages/index/index","style": {"navigationBarTitleText": "首页"}},{"path": "pages/logs/logs","style": {"navigationBarTitleText": "日志"}}],"globalStyle": {"navigationBarTextStyle": "black","navigationBarTitleText": "UniApp","navigationBarBackgroundColor": "#F8F8F8","backgroundColor": "#F8F8F8"},"tabBar": {"color": "#7A7E83","selectedColor": "#3cc51f","borderStyle": "black","backgroundColor": "#
    
http://www.yayakq.cn/news/861348/

相关文章:

  • 乐清网站艰涩免费推广的平台
  • 基于html5的移动端网站开发徐州做英文网站的公司
  • 网站建设数据库选择wordpress壁纸小程序
  • 广州网站优化渠道游戏直播网站怎么做
  • 公司报备网站wordpress管理信息系统
  • 制作音乐网站实验报告越烽建设集团有限公司网站
  • 怎么仿别人的网站中国纪检监察报谁题的报名
  • 华为公司网站建设方案模板下载公共资源交易中心是属于哪个部门
  • 网站建设招聘需求会员注册系统源码wordpress
  • 四川网站备案咨询网网站建设后台有哪些东西
  • 外贸网站建设公司网站开发后台服务器功能
  • 佛山网站建设熊掌号设计师应该看的网站
  • 深圳赶集同城网站建设wordpress页面模板下载地址
  • 手表购买网站优模网
  • 天津工程建设信息网站三亚同城招聘网站
  • 网站敏感字南京自媒体公司
  • 深圳商城网站建设江苏seo
  • 手机网站建设多少钱建筑设计说明模板100字
  • 网站流量用完了职业医生继续做学分市哪个网站
  • 网站建设不能在淘宝发布wordpress 下载受限
  • 网站功能与建设特色上海建设网站制作
  • 学校网站建设评分标准商户网站建设
  • 毕业设计网站建设流程seo分析报告
  • 上传网站 php 服务器企业建站模板价格
  • 360网站地图怎么做云服务器能干啥
  • 全功能多国语言企业网站网站怎样做移动端
  • 建设营销网站要什么网站建设教案
  • dedecms做地方网站布吉网站建设多少钱
  • 网页网站原型图占位符怎么做搜索网站建设
  • 免费app制作网站如何在网站上做推广