2.1 WXML和HTML
WXML全名WeiXin Markup Language
,是微信小程序独有的文件格式
它与HTML的区别有几点
-
标签名
在HTML 中,有
div span img a
而在WXML中,有
view text imaga navigation
view在微信小程序中其实就是充当div的角色,,作为块级元素进行布局
text 一般存放文本,作为WXML中的行内元素
image用法和img一致,包含图片
navigation标签就是超链接标签,存放链接
-
属性节点
在img中,是用属性src存放链接,而在image中,是用url存放
<img src="#">
<image url="#">
-
多了类似
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大部分特性,微信小程序在此之上,做了些修改和扩充
-
新增尺寸单位,在CSS样式中,开发中需要手动用rem对不同屏幕大小进行换算,而WXSS新增的
rps
可以自动换算像素单位 -
全局样式
也就是
app.wxss
文件,与之前app开头文件一样,里面说设置的样式,会对所有页面生效,也就是全局样式,而各页面的样式文件,只对该页面生效 -
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文件,这是功能模块文件,常常用来封装公共的函数和属性
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
配置小程序所有页面的顶部用于设置状态栏,导航条,标题,窗口背景色等
这里介绍几个比较常用的
-
navigationBarBackgroundColor
设置值为十六进制的颜色值,设置导航仪背景颜色 -
navigationBarTextStyle
标题颜色设置,不过只支持white
和black
-
navigationBarTitleText
标题文本设置
其他属性可以在微信的官方文档获取
例子展示:
{
"pages": [
"pages/index/index",
"pages/list/list"
],
"window": {
"navigationBarBackgroundColor": "#fff",
"navigationBarTextStyle": "black",
"navigationBarTitleText": "第一个小程序"
}
}
-
tabBar
底部tab栏设置主要用到的属性有
-
list
底部列表,最少放俩个,最多放五个 -
color
文字默认颜色 -
selectedColor
被选择是文字颜色 -
backgroundColor
tab背景颜色颜色需要使用十六进制颜色值
展示:
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页"
},
{
"pagePath": "pages/list/list",
"text": "目录"
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**






**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)**

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

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

另外,大推一个网上教程 现代 JavaScript 教程 ,文章深入浅出,很容易理解,上面的内容几乎都是重点,而且充分发挥了网上教程的时效性和资料链接。
学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。
面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。
**这是288页的前端面试题**

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

且充分发挥了网上教程的时效性和资料链接。
学习资料在精不在多,二者结合,定能构建你的 JavaScript 知识体系。
面试本质也是考试,面试题就起到很好的考纲作用。想要取得优秀的面试成绩,刷面试题是必须的,除非你样样精通。
**这是288页的前端面试题**

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