uni-app学习记录

112 阅读1分钟

uni-app

itcast的接口https://api-ugo-web.itheima.net

文档https://www.escook.cn/docs-uni-shop

  • 网络请求需要的npm包--npm install @escook/request-miniprogram,文档:[@escook/请求小程序 - npm (npmjs.com)](https://www.npmjs.com/package/@escook/request-miniprogram)

项目创建和发行

通过vue-cli

安装vue-cli

npm install -g @vue/cli

安装uni-app

 vue create -p dcloudio/uni-preset-vue project-name

通过HubilderX构建

只需要下载HubilderX即可,个人建议使用uniapp,可直接上手HuBuilderX,该工具十分强大,因为是同一团队打造的

下载地址:[HBuilderX-高效极客技巧 (dcloud.io)](https://www.dcloud.io/hbuilderx.html)

运行项目

npm run dev:%PLATFORM% //执行具体命令时需将%PLATFORM%替换成mp-weixin或其他
结合微信开发者工具

需要在开发者工具开放服务端口:

设置->安全设置->服务端口

发布项目

npm run build:%PLATFORM%

PLATFORM取值:

平台
h5H5
mp-weixin微信小程序
mp-alipay微信小程序
mp-baidu微信小程序
mp-toutiao头条小程序
mp-qqqq 小程序

问题

其他

页面通讯跳转数据未更新

描述

在使用unipp的页面通讯API,在子组件中通过uni.$emit("event",params),触发父组件绑定的事件,实现数据传递(uni.$on("event",(res)=>{})),实现对父组件的数据进行更新,可发现父组件的模板并未因数据更新而进行重新解析,

在排查过程中,发现我在子组件中通过uni.$emit触发父组件中的事件时,利用了uni.navigateTo()方法跳转到父组件,

同时在子组件中,通过监视属性也能观察到属性发生了更改,但就是未发生模板的解析

解决

在子组件中通过uni.$emit触发父组件中定义的事件后,不要使用uni.navigateTo()进行路由跳转,作者是在跳转成功的回调方法调用的uni.$emit触发父组件中事件。

样式

修改页面背景色

修改pages的页面背景色

//page是整个页面的样式对象
page{
	width:100%;
	height:100%;
	background-color:red;
}