以前一直都是写的 Vue,所以在刚接触小程序的时候会疑惑,小程序是否也有和 Vue 一样有路由表,但是看完开放文档之后发现没有路由表,就很疑惑。
那小程序怎么去做页面跳转的呢?
首先,虽然小程序没有路由表,但是在全局配置文件(app.json
)中有 pages
信息
用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。
文件名不需要写文件后缀,框架会自动去寻找对应位置的文件进行处理。
以前一直都是写的 Vue,所以在刚接触小程序的时候会疑惑,小程序是否也有和 Vue 一样有路由表,但是看完开放文档之后发现没有路由表,就很疑惑。
那小程序怎么去做页面跳转的呢?
app.json
)中有 pages
信息用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文件名) 信息。
文件名不需要写文件后缀,框架会自动去寻找对应位置的文件进行处理。
小程序包含一个描述整体程序的 app
和多个描述各自页面的 page
。
刚刚接触到小程序,使用 微信开发者工具 新建完项目之后,会有一个这样的初始结构:
├─pages
│ ├─index
│ │ index.js
│ │ index.json
│ │ index.wxml
│ │ index.wxss
│ │
│ └─logs
│ logs.js
│ logs.json
│ logs.wxml
│ logs.wxss
│
├─utils
│ util.js
├─ app.js
├─ app.json
├─ app.wxss
├─ project.config.json
└─ sitemap.json
发现我安装小程序开发者工具是18年的事情了,那个时候还没有开始学 vue
,算是开始填早几年立的一个 📌Flag 吧。
当时是想给我们的烘焙工作室的公众号做一个配套的营销工具,所以在18年底有去了解,只不过后来只做了一个展示型网站 岁礼气球派对,后来又改版了好几次现在主营是派对布置,好了有点扯远了。
填坑的动力主要是业务驱动,因为现在正好有这个任务安排,在回顾2020也大概提到了。所以今天先开始概括一下没有开发过小程序的前端,对于小程序的一些疑问。
在思否上遇到一个问位运算符的问题 字符串的位运算,是怎么执行的,我也挺好奇的,就是为啥字符串进行位运算的时候返回的结果是 0
,索性在解答这个问题的同时把位运算符都整理一遍。
那么先来整理一下位运算符,最后再说明为什么字符串的处理结果为 0
该来的一天还是来了,两年前立的Flag还是到了,现在在跟进项目配套的小程序开发,但对于写惯了 Stylus 的我,真的是太煎熬了,每次都忘记写冒号和分号…
所以就想着翻翻开发文档看 .wxss
支持不支持CSS预处理器的写法,比如 SCSS
。明显这是不可能的,官方也没有计划支持,所以还是得自己动手。
.wxss
文件。各位程序猿(媛)晚上好,今天轮到我来分享,先来自我介绍16年毕业计算机通信,后来专升本(计算机科学),这教育经历算是很差了,从事前端大概有三年(我也不是很确定…),中间有留校工作了1年多,后来辗转成都和重庆,19年回的浙江。
好自我介绍结束,开始正题:
之前一直学的计算机通信嘛,大概是13/14年有一届青少年科技创新大赛被老师拉进团队开始接触网站制作,那段时间接触的是PHP
和ASP
。快实习的时候一起比赛的学长找我去他们公司做,算是正式进入到前端领域(是一个外包公司)。
当时也没有认识到 外包 和 自研 的区别,工作也简单就是做一个 页面仔 还原设计稿的,一开始一个月熟悉项目开发流程,后边就开始独立自己切,每天都一直努力还原设计稿,这段时间积累HTML
、CSS
的知识确实是最快的时候,我到现在都没有怎么回顾过了,基本看到设计稿大概就知道应该是怎么样的一个HTML结构,CSS应该怎么去写,有哪些部分可以复用,到实习结束大概已经切了大概有一百个网站(我们实习期很长有一年)
不知不觉庚子年已经过完了,都不知道怎么就过完了看似艰难的一年,甚至觉得中间缺失另一部分的时间,还有很多想做的事情还没来得及做,可能年纪大了吧,真像别人说的,现在的一年只占用了 1/27 份的记忆空间,所以回忆起来觉得时间过得特别快,以后也只会越来越快。
说实话去年没有什么好回顾的,所以一直拖到正月都过完了都不想动手写,很多事情都不顺心,也出现了很多计划之外的事情。不管是工作还是生活上,特别是感情上,导致全年大部分的时间情绪都不高涨,先回顾一下去年吧。
最近和女友闹得很僵,情绪很低落,没有什么动力填坑,更别提开新坑了,光把 设计模式学习 补完就折腾的够呛,而且有一些定义很模糊容易混淆,经常就为了区分两个很类似的模式停滞几个小时。
周二的时候知乎推送了一个问题 在恋爱中,女孩子真的会遇到一个满眼都是自己的男孩子吗?, 第一次接触到一个名词 关系依存自尊,确实一直以来都把感情看得很重要,并且已经深刻影响到自己生活的方方面面。
KnowYourself
的回答真的让我一下子明白过来,原来在不经意中我已经情感勒索了很久并不自知,也理解了她口中的压力并不是我以前所想的那样……
设计模式是我在2018年在成都工作的时候听 肉山老师 的直播JavaScript 设计模式 导言的时候就想学习的一个东西,但是一直拖拖拖,虽然后来买了肉老师的 Chat 从 jQuery 里学习设计模式,但是看了一头雾水,后来同样买了肉老师推荐的书《设计模式:可复用面向对象软件的基础》,也是在家里吃灰了半年多。
一直想把整个设计模式都了解一下,不用吃透大概明了就可以,但是每次都提不起开坑的念头,如果再写成学习笔记的话,学习周期会大大拉长。
这次在项目的不断迭代中,我遇到了一个问题,就是 项目中的类型和状态管理,所以就想着是否有一个合适的设计模式来解决问题,所以就被逼迫着捡起来了……
这段时间项目迭代比较快,所以很多时候对于记录的状态和类型判断我都是使用的 魔术字符串 的形式,但是这样就与代码形成了 “强耦合”, 不利于后期的维护。
例如这样的代码结构:
<!-- 用vue template来举例 -->
<template>
<table>
<!-- 其它结构 -->
<td>
<!-- 直接使用状态值判断 -->
<a @click='xxx' v-if='record.status === 0'>操作A</a>
<!-- 使用数组下标判断 -->
<a @click='xxx' v-eles-if='record.status === status[1].key'>操作B</a>
<a @click='xxx' v-else'>其他操作</a>
</td>
<!-- 其它结构 -->
</table>
</template>
特别是最近一整个分类的类型和状态的都变更了,所以在业务逻辑内的魔术字符串也需要一个一个文件去同步修改,大部分的都被替换了,但还有一些零碎的地方没有被修改到,导致不断有 BUG 被提上来,这就很头疼了。
所以我就想者怎么把业务逻辑内的魔术字符串使用一种方式替换掉,最开始我想法是把状态集中起来进行管理