当前位置:   article > 正文

uni-app_小程序样式写在style好吗

小程序样式写在style好吗

特点:vue的语法 + 小程序的标签和api 

1、css

style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。

<view :style='{color:color}'> </view>

选择器:在 uni-app 中不能使用 * 选择器,page 相当于 body 节点

2、生命周期

uni-app 完整支持 Vue 实例的生命周期,还新增应用生命周期及页面生命周期,即uniapp 对vue 和小程序的生命周期都支持。

  • created
  • mounted
  • undated
  • destroyed
  • onload
  • onshow
  • onReady
  • onHide
  • onUnload

3、globalData

Vue 之前是没有这类概念的,但 uni-app 引入了globalData概念

  1. // app.vue 定义全局变量globalData
  2. <script>
  3. export default {
  4. // 整个uniapp 项目的生命周期
  5. onLaunch: function() {
  6. console.log('App Launch');
  7. },
  8. onShow: function() {
  9. console.log('App Show');
  10. },
  11. onHide: function() {
  12. console.log('App Hide');
  13. },
  14. globalData:{
  15. // 这是全局变量
  16. nameArr:['迪迦','盖亚','塞罗','泰罗']
  17. }
  18. };
  19. </script>
  20. // 获取globalData 全局变量
  21. <script>
  22. let app = getApp();
  23. </script>

4、重构案例

4.1、项目工作环境初始化

uniapp的两种使用方式推荐使用基于HBuilder X的形式,因此在操作之前请先做好其安装工作。

a. 使用HBuilder x新建一个项目

b. 填入项目的基本信息,项目名称根据自身需要自行决定

c. 后续我们将使用HBuilder X进行编码、开发,而小程序开发者工具作为小程序的预览工作;为了将让HBuilder X能够将编译好的小程序代码准确的传给小程序开发者工具,此处我们需要设置小程序工具,以允许小程序开发者工具被其他程序调用:

d. 在HBuilder X中设置运行,以体验执行效果

启动时可能会弹出窗口询问小程序开发者工具的安装位置,如果弹出该窗口,请根据自己电脑上安装的位置选中安装目录,随后点击确定。

最终设置操作完毕,后续我们每次在HBuilder X中修改的代码一经保存,微信小程序开发者工具就会实时更新显示效果。

另外不要忘了给我们的最终输出程序类型做配置:

如果需要其他类型的小程序输出,操作也是如此。

  1. {
  2. "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
  3. {
  4. "path": "pages/index/index",
  5. "style": {
  6. // "navigationBarTitleText": "uni-app"
  7. }
  8. }
  9. ,{
  10. "path" : "pages/fen/fen",
  11. "style" :
  12. {
  13. // "navigationBarTitleText": "",
  14. "enablePullDownRefresh": false
  15. }
  16. }
  17. ,{
  18. "path" : "pages/car/car",
  19. "style" :
  20. {
  21. // "navigationBarTitleText": "",
  22. "enablePullDownRefresh": false
  23. }
  24. }
  25. ,{
  26. "path" : "pages/mine/mine",
  27. "style" :
  28. {
  29. // "navigationBarTitleText": "",
  30. "enablePullDownRefresh": false
  31. }
  32. }
  33. ],
  34. "globalStyle": {
  35. "navigationBarTextStyle": "black",
  36. "navigationBarTitleText": "顺丰快递",
  37. "navigationBarBackgroundColor": "#F8F8F8",
  38. "backgroundColor": "#F8F8F8"
  39. },
  40. "tabBar": {
  41. "color": "#7A7E83",
  42. "selectedColor": "#3cc51f",
  43. "borderStyle": "black",
  44. "backgroundColor": "#ffffff",
  45. "list": [{
  46. "pagePath": "pages/index/index",
  47. "iconPath": "static/index1.png",
  48. "selectedIconPath": "static/index2.png",
  49. "text": "首页"
  50. }, {
  51. "pagePath": "pages/fen/fen",
  52. "iconPath": "static/fen1.png",
  53. "selectedIconPath": "static/fen2.png",
  54. "text": "分类"
  55. }, {
  56. "pagePath": "pages/car/car",
  57. "iconPath": "static/car1.png",
  58. "selectedIconPath": "static/car2.png",
  59. "text": "购物车"
  60. }, {
  61. "pagePath": "pages/mine/mine",
  62. "iconPath": "static/mine1.png",
  63. "selectedIconPath": "static/mine2.png",
  64. "text": "我的"
  65. }
  66. ]
  67. }
  68. }

项目目录:

5、条件编译

条件编译是用特殊的注释作为标记,在编译时根据这些特殊的注释,将注释里面的代码编译到不同平台

语法:以 #ifdef 或 #ifndef 加 %PLATFORM% 开头,以 #endif 结尾

  • #ifdef:if defined 仅在某平台存在
  • #ifndef:if not defined 除了某平台均存在
  • %PLATFORM%:平台名称

页面的条件编译

  1. <!-- #ifdef H5 -->
  2. <view class="">
  3. h5端
  4. </view>
  5. <!-- #endif -->
  6. <!-- #ifdef MP-WEIXIN -->
  7. <view class="">
  8. 微信端
  9. </view>
  10. <!-- #endif -->

编译样式的条件

  1. /* #ifdef H5 */
  2. .on{
  3. font-size: 50rpx;
  4. background: purple;
  5. }
  6. /* #endif */

pages.json的条件编译

  1. // #ifdef H5
  2. {
  3. "path" : "pages/detail/detail",
  4. "style" : {}
  5. }
  6. // #endif

static目录的条件编译

6、uniapp 插件使用

使用插件市场:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/672009
推荐阅读
相关标签
  

闽ICP备14008679号