微信小程序-自定义组件
组件基本使用创建组件1、在项目的根目录下创建components文件夹,在components文件中定义所有自定义组件。2、右键点击“新建Component”3、输入组件名称之后回车,会生成4个文件:.js、.json、.wxml、.wxss
引用组件局部引用1、在需要使用组件的页面.json配置文件中的”usingComponents”节点中声明要引入的组件
123"usingComponents": { "test1":"/components/test1/test1" }
全局引用组件在app.json中和window节点平级声明”usingComponents”节点,该节点以对象的形式呈现,内部写法同上。
123"usingComponents": { "test1":"/components/test1/test1" }
组件和页面的区别1、组件的.json文件中需要声明”component”:tr ...
微信小程序-WXS脚本
WXSWXS相当于VUE的过滤器WXS语法类似JavaScript,但是两个不是一种语言1、wxs有自己的数据类型2、wxs不支持ES6及以上的语法3、wxs遵循CommonJS规范
内嵌WXS编写在wxml文件中的<wxs>标签,必须提供module属性,指定当前wxs的模块名称,方便在wxml中访问模块中的成员。js文件:
12345678Page({ /** * 页面的初始数据 */ data: { word:"hello world", }})
wxml文件:
1234567<view>{{m1.toUpper("hello")}}</view><view>{{m1.toUpper(word)}}</view><wxs module="m1"> module.exports.toUpper=function( ...
微信小程序-生命周期
生命周期分类1、应用生命周期指小程序从启动——>运行——>销毁的过程2、页面生命周期每个页面的加载——>渲染——>销毁的过程
生命周期钩子应用的声明周期钩子12345678App({ //小程序初始化完成时,执行此函数,全局只触发一次,可以做一些初始化的工作 onLaunch:function(opt){}, //小程序启动,或从后台进入前台显示时触发 onShow:function(opt){}, //小程序从前台进入后台时触发 onHide:function(){}})
页面的生命周期钩子1234567Page({ onLoad:function(opt){},//监听页面加载,一个页面只调用一次 onShow:function(){},//监听页面显示 onReady:function(){},//监听页面初次渲染完成,一个页面只调用一次 onHi ...
微信小程序-页面事件
下拉刷新开启下拉刷新app.json中的window属性中,或者页面级别的.json文件中配置:
1"enablePullDownRefresh": true
推荐为需要下拉刷新的页面单独配置。
事件处理函数下拉刷新会触发onPullDownRefresh事件处理函数,可以在函数中进行下拉之后的操作
123onPullDownRefresh() { console.log("用户触发了下拉刷新的操作"); }
调用wx.stopPullDownRefresh()函数可以取消下拉状态:
1234onPullDownRefresh() { console.log("用户触发了下拉刷新的操作"); wx.stopPullDownRefresh(); }
上拉触顶上拉触顶距离app.json中的window属性中,或者页面级别的.json文件中配置上拉触顶触发距离,距离默认为50px:
1"onReachBottomDistance": 100
单位默认 ...
微信小程序-页面导航
页面导航声明式导航在页面上声明一个<navigator>导航组件(类似router-link),点击跳转
导航到tabBar页面使用<navigator>组件,必须指定url属性和open-type属性,其中url表示要跳转的页面的地址,必须以”/“开头。open-type表示跳转方式,必须为switchTab。home.wxml:
1<navigator url="/pages/order/order" open-type="switchTab">导航到tabBar页面</navigator>
导航到非tabBar页面跳转到非tabBar页面可以省略open-type属性。home.wxml:
123<navigator url="/pages/merchant/merchant" open-type="navigate">导航到非tabBar页面</navigator><!-- 到非tabBar页面可以省略open- ...
微信小程序-网络请求
网络请求信任列表出于安全性考虑,小程序只能请求https类型的接口,必须将接口的域名添加到信任列表中。在微信小程序管理后台——>开发——>开发设置——>服务器域名——>修改request合法域名,中添加合法域名。
发送请求wxml代码:
123<button bind:tap="getInfo">发起get请求</button><button bind:tap="postInfo">发起post请求</button>
js代码:
12345678910111213141516171819202122232425262728//发起get请求getInfo(){ wx.request({ url: 'https://www.XXX.com/api/get', method:"GET", data:{ name:"张三", age:80 ...
微信小程序-配置
全局配置根目录app.json是全局配置文件,常用配置如下1、pages:记录当前小程序所有页面的存放路径2、window:全局设置小程序窗口的外观3、tabBar:设置小程序底部的tabBar效果4、style:是否启用新版的组件样式
小程序窗口组成部分
window配置navigationBarTextStyle目前只支持black和white。注意:在真正的手机上,开启下拉刷新下后无法合上,这点和模拟器上不一样,如果想实现真正的下拉刷新还需要一些配置。
tabBar配置tabBar用于实现多页面的快速切换,小程序通常将其分为底部tabBar和顶部tabBar注意:tabBar中只能配置最少两个最多五个的tab页签,当渲染顶部tabBar时不显示icon只显示文本。tabBar的配置:每个tab项的配置:
页面配置小程序中,app.json的window节点可以全部配置小程序中每个页面的窗口表现。如果某些小程序页面想要拥有特殊的窗口表现,此时“页面级别的.json配置文件”就可以实现这种需求。注意:当页面配置与全局配置冲突时,根据就近原则,最终的效果以页面配置为准。
微信小程序-基本使用
小程序代码的构成JSON配置文件1、项目根目录的app.json是当前小程序的全局配置,包含了小程序的所有页面路径、窗口外观、界面表现、底部tab等
配置项
作用
pages
记录当前小程序所有页面的路径
window
全局定义小程序所有页面的背景色、文字颜色等
style
全局定义小程序组件所使用的样式版本
sitemapLocation
用来指明sitemap.json的位置
2、project.config.json文件
用来记录我们对小程序开发工具所做的个性化配置
配置项
作用
–
–
setting
保存了编译相关的配置
projectname
保存的是项目名称
appid
保存的是小程序的账号ID
3、sitemap.json文件
微信开开放了小程序内搜索,效果类似于PC网页的SEO。该文件用来配置小程序页面是否允许微信索引,可以修改aciton配置为disallow修改为不允许索引。
4、页面的.json配置文件
可以使用每个页面的.json文件对本页面的窗口外观进行配置,页面中的配置会覆盖ap ...
C#新语法
顶级语句1、直接在C#文件中直接编写入口方法的代码,不用类,不用Main。经典写法仍然支持。2、同一个项目中只能有一个文件具有顶级语句。3、顶级语句中可以直接使用await语法,也可以声明函数。
12345678910Console.WriteLine("Hello, World!");string res = await File.ReadAllTextAsync("d:/1.txt");test1();test2();static void test1() { Console.WriteLine(1);}void test2() { Console.WriteLine(2);}
全局using指令1、将global修饰符添加到using前,这个命名空间就应用到整个项目,不用重复using。2、通常穿件一个专门用来编写全局using代码的C#文件。3、如果csproj中启用了<ImplicitUsings>enable</ImplicitUsings>,编译 ...
停更一段时间
亲爱的小伙伴们,今天是冬至啦,不知道大家有没有吃饺子。由于本人面临期末考试和毕业设计等原因,技术博客不得不暂停更新一段时间,具体需要多久还不太清楚大概率年后会进行大量的更新,不过有一点可以肯定的是,我尽量在一月份的时候将之前EFCore和ASP.Net Core的坑填完,目前还有:
文章
进度
Asp.Net Core_SignalR
未写完
在这里想先给自己留几个坑等日后填上,之后打算做一点偏物联网和工控的内容,会涉及到Python、SQLite、modbus、mqtt、Linux之类的,我会一点一点将我学到的东西记录下来,在这里先开几个坑:
科目
内容
Python
基本语法、多线程、File、操作数据库、网络编程
SQLite
数据库基本操作、索引、事务、锁等
Linux
Linux基本使用,借鉴韩顺平老师Linux教程
之前的Asp.Net Core教学只涉及到Web Api,并没有用到MVC。我对MVC了解不多,要是工作不忙的话,我会从头翻一遍文档,尽量把文档中比较难理解的地方转成大白话来写几篇文章。
祝各位前程似锦!














