【微信小程序低代码开发】二,在实操中化解小程序的代码组成


2.1 WXML和HTML

WXML全名WeiXin Markup Language,是微信小程序独有的文件格式

它与HTML的区别有几点

  1. 标签名

    在HTML 中,有div span img a

    而在WXML中,有view text imaga navigation

    view在微信小程序中其实就是充当div的角色,,作为块级元素进行布局

    text 一般存放文本,作为WXML中的行内元素

    image用法和img一致,包含图片

    navigation标签就是超链接标签,存放链接

  2. 属性节点

    在img中,是用属性src存放链接,而在image中,是用url存放


<img src="#">

<image url="#">



  1. 多了类似vue的语法

    什么,没学过?没事,照样学!

    其实就将渲染和逻辑分离的MVVM模式,在网页的开发中,我们经常通过JS操作DOM,当项目越来越大时,你的代码会充斥着非常多交互逻辑和程序的各种状态变量,这样结构上不是很友好,而MVVM开发模式就是提倡不让JS直接操控DOM,JS只需要作为一个管理者,区别出状态,然后通过模板语法(react、vue)来表述状态与界面结构的关系即可

    小程序框架也是用到这个思路,如下:

    WXML可以这样写:


<text>{{msg}}</text>



JS无需获取变量


this.setData{{ msg: "Hello World"}}



这种我们称为数据绑定,通过双大括号的方式,将一个变量绑定到页面,我们可以直接在JS对其进行修改,现在可以先了解一下

2.2 WXSS和CSS

WXSS全名为WeiXin Style Sheets,其具有CSS大部分特性,微信小程序在此之上,做了些修改和扩充

  1. 新增尺寸单位,在CSS样式中,开发中需要手动用rem对不同屏幕大小进行换算,而WXSS新增的rps可以自动换算像素单位

  2. 全局样式

    也就是app.wxss文件,与之前app开头文件一样,里面说设置的样式,会对所有页面生效,也就是全局样式,而各页面的样式文件,只对该页面生效

  3. WXSS只支持部分选择器

    类选择器,id选择器,标签选择器,并集选择器,::after::before

2.3 JS

与用户的交互我们交由JS脚本文件完成,利用之前提到的数据绑定,如我们获取用户的点击状态然后进行响应:


<view>{{msg}}</view>

<button bindtap="click">点击有好事发生</button>



bindtap进行事件绑定,当点击后会在该页面对应的Page中找到对应事件处理函数


Page({

	click: function(){

		this.setData({ msg: "Hello World"})	

	}

)



这些事件和组件的使用后面会边应用边讲解

在项目结构中,也有各个层次的JS文件

  • 如前面提到的app.js文件,是整个项目的入口文件,小程序将调用里面的App函数,将小程序实例化并运行

  • 各页面文件夹下的的.js文件,调用里面的Page函数,实例化并运行页面

  • 还有一个utils文件夹下的普通JS文件,这是功能模块文件,常常用来封装公共的函数和属性

三,配置文件JSON


3.1 app.json

3.1.1 创建新页面Pages

上面说到的app.json就是配置全局的静态数据,像是里面的pages属性,里面存放页面的路径

上一章我们讲过在一个页面文件中需要有四个不同类型的文件,但是我们不需要一一创建

只需要在pages文件夹上创建一个文件夹,然后右键新建的文件夹选择新建page

在这里插入图片描述

填入我们想要的文件名,如index,我们会发现,它会自动帮我们新建那四个文件,同时,在app.json中,开发者工具会自动在pages中添加新建页面的路径

在这里插入图片描述

3.1.2 修改项目页面首页

小程序会将全局配置文件app.json下pages的第一个页面默认为首页,如果需要更改首页,只需在首页的路径换到pages的第一行即可


{

	"pages"[

		"pages/list/list",

		"pages/index/index"

	]

}



3.1.3 app.json其他全局配置
  • window 配置小程序所有页面的顶部

    用于设置状态栏,导航条,标题,窗口背景色等

    这里介绍几个比较常用的

  1. navigationBarBackgroundColor 设置值为十六进制的颜色值,设置导航仪背景颜色

  2. navigationBarTextStyle 标题颜色设置,不过只支持whiteblack

  3. navigationBarTitleText 标题文本设置

其他属性可以在微信的官方文档获取

例子展示:


{

  "pages": [

    "pages/index/index",

    "pages/list/list"

  ],

  "window": {

    "navigationBarBackgroundColor": "#fff",

    "navigationBarTextStyle": "black",

    "navigationBarTitleText": "第一个小程序"

  }

}



在这里插入图片描述

  • tabBar 底部tab栏设置

    主要用到的属性有

  1. list 底部列表,最少放俩个,最多放五个

  2. color 文字默认颜色

  3. selectedColor 被选择是文字颜色

  4. backgroundColor tab背景颜色

    颜色需要使用十六进制颜色值

展示:


  "tabBar": {

    "list": [

      {

        "pagePath": "pages/index/index",

        "text": "首页"

      },

      {

        "pagePath": "pages/list/list",

        "text": "目录"



**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/c100e5aa9075c43508c90e7c9fc81c29.jpeg)
![img](https://img-blog.csdnimg.cn/img_convert/e5d6614f966a5df76fa3dcab1567a4b6.png)
![img](https://img-blog.csdnimg.cn/img_convert/03d4ae1bea7095173845b460af8b0c0d.png)
![img](https://img-blog.csdnimg.cn/img_convert/5eb146baf819578951cd41931fd94ac1.png)
![img](https://img-blog.csdnimg.cn/img_convert/cd16c44ca43fe0bcd64db9cbd1155076.png)
![img](https://img-blog.csdnimg.cn/img_convert/6ad52b4741978828758a650fea2bc9a2.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)**
![img](https://img-blog.csdnimg.cn/img_convert/704648f98ad1db4d69475e3e60e586c2.png)



### 文末

js前端的重头戏,值得花大部分时间学习。

![JavaScript知识](https://img-blog.csdnimg.cn/img_convert/701f4db8e7fc0c3ff4d87017d6c846be.png)

推荐通过书籍学习,《 JavaScript 高级程序设计(第 4 版)》你值得拥有。整本书内容质量都很高,尤其是前十章语言基础部分,建议多读几遍。

![前端电子书](https://img-blog.csdnimg.cn/img_convert/6065b7d33c9a5859971490467a967767.png)



另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。



学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。

面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。

**这是288页的前端面试题**

![288页面试题](https://img-blog.csdnimg.cn/img_convert/6a0ed19303290ef201081fc6148f21db.png)

**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/30d1c2df56dbfa9e3f349ee35a09a18f.png)

且充分发挥了网上教程的时效性和资料链接。



学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。

面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。

**这是288页的前端面试题**

![288页面试题](https://img-blog.csdnimg.cn/img_convert/6a0ed19303290ef201081fc6148f21db.png)

**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-hhkB0VDf-1712879500203)]

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值