课程地址 网易云课堂
课堂地址:https://study.163.com/course/courseMain.htm?courseId=1209487898&share=1&shareId=1407311838
线上演示地址:http://wechath5.dishait.cn/
源码打包下载。本文也是源码分析
.记得先登录cnblog
使用模拟器进行APP的调试,我只开发app
第2课:创建项目,开始两个模式,渲染模式,编译模式
1.nuve是weex的升级版。减少包提交,性能方面,比vue提升不少,具体多少,不知道。
2.编译模式
https://uniapp.dcloud.io/nvue-outline?id=编译模式
3.渲染模式
https://uniapp.dcloud.io/nvue-outline?id=纯原生渲染模式
模式在manifest.json的源码视图中,直接加两个配置。
"nvueCompiler":"uni-app", //是否启用 uni-app 模式
"renderer": "native", //App端纯原生渲染模式
新建项目,把vue后缀,改成nvue
做好这两步,就可以进行nuve开发了
第3节课: 引入全局样式,free.css库,老师自己封装的CSS库,借用了bootstrap的思想。
个人的感觉,这个bs的思想,比官方市场中的那些乱七八糟的css插件好很多。这才是基础的框架,记住这个库,很容易写出自己的css框架。
1.全局样式写在哪里?在哪里引入?
2.nuve的css库,用老师提供的,还是用uniapp插件市场提供的。
3.应用周期,都是app.vue文件里
4.和vue的差异就在三个方面,html,css,js
5.外部引用的css放在一级文件夹common中
6.外部引入的字体,放在app.vue里
7.使用import导入,全部使用绝对路径,@项目根目录
8.到底使用rpx,还是px,还是upx
,最后发现使用rpx好点,因为这是微信小程序的说法
https://ask.dcloud.net.cn/article/36130
第4课: 引入全局样式 base.css
这里其实common.css 主要定义一些基础的page颜色,文字颜色,边框等等
这里其实是很关键的。
定义好字体大小的规则。
定义好颜色的规则。
定义好边框的规则。
定义好背景的规则。
第567课 三课都是使用定义图标库
1.熟悉阿里云字体库
https://www.iconfont.cn/
使用微博账号,使用QQ登录微博,然后再登录字体库。
然后下载下来,里面会有用法说明。
2.nvue使用推荐使用unicode模式
3.CSS中,只留woff2
的配置
font中只使用,ttf格式的文件
4.在app.vue里,引用字体,全局页面都可以使用。
//这里是为了兼容非APP端,app端,其实不需要写这句话
/* #ifndef APP-PLUS-NVUE */
@import "./common/free-icon.css";
/* #endif */
5.引入字体库的方法
https://weex.apache.org/zh/docs/modules/dom.html#addrule
https://uniapp.dcloud.io/nvue-api?id=addrule
如果引入本地字体库,weex上面也有说法:使用local://
。但其实是不对的,无法引入,只需要斜杠就好了
不过建议使用./
引入相关字体
不过还是使用阿里云在线cdn字体吧
onLaunch: function() {
// #ifdef APP-PLUS-NVUE
// 加载公共图标库
const domModule = weex.requireModule('dom')
domModule.addRule('fontFace', {
'fontFamily': "iconfont",
'src': "url('https://at.alicdn.com/t/font_1365296_2ijcbdrmsg.ttf')"
});
// #endif
6.页面配置
https://uniapp.dcloud.io/collocation/pages?id=pages
7.底部配置
https://uniapp.dcloud.io/collocation/pages?id=tabbar
为什么,有的页面,有底部,有的页面没底部呢?
好像只有在底部中的页面,才有底部。
8.iconfont不能再底部配置中使用
中间的疑问
1.nvue的跳转,使用a标签吗?
2.在nuve中测试的时候,使用weex的a标签一样可以跳转。
3.uniapp也有自己的跳转方式,navigator组件。那么到底使用哪一个比较好呢?我就只做app,哪一种方式更不容易出问题。
4.无参跳转和有参跳转
第8课
底部tabbar的配置
https://uniapp.dcloud.io/collocation/pages?id=tabbar
为什么,有的页面,有底部,有的页面没底部呢?
第9课
globalStyle
1.取消原生导航
2.取消app端的滚动条
https://uniapp.dcloud.io/collocation/pages?id=app-plus
'globalstyle':{
"app-plus":{
'titleNView':false,
'scrollIndicator':'none'
}
}
第10课
顶部模块=状态栏+导航栏
状态栏的高度获取方式
课程中是这样的
onLoad() {
// #ifdef APP-NVUE
this.statusBarHeight=plus.navigator.getStatusbarHeight()
// #endif
},