美文网首页
小程序入门知识点整理 一

小程序入门知识点整理 一

作者: 向上而活 | 来源:发表于2018-12-20 21:55 被阅读0次

上线,有appid就能上线,注意,个人小程序不能有涉及到商业宣传的内容,否则审核不通过。

小程序的宿主是微信,没有window对象,dom、bom在小程序中都不存在。

在小程序中都是用wx.**(方法、对象、接口)。比如,在调试时,alert在小程序中没用。可以用console替代。

关于app.js

app.js是全局js脚本,在它里面定义的事件、方法、属性等,在全局中都可以使用。
在各个子页面的js中通过getApp();将app.js加载到本页面(类似于<script src=""app.js></script>),通过console.dir可以在相应子页面的控制台中展开。app.js中定义的事件、方法等。通过 点 符号可以调用这些事件、方法。
注意公共的事件与方法才定义到add.js中。

var abc=getApp();//在子页面的js中引用app.js
console.dir(abc);//在子页面的控制台中展开add.js的内容,,查看有哪些事件、方法
abc.calc(5,7);//调用app.js中定义的两数相加的方法

关于App()

App() 定义在微信环境中,{ }中放置4个事件,以及n个自定义的方法和属性

onLaunch 当小程序由关闭到启动时,加载初始数据,比如游戏中的历史最高分

onShow 从后台到前台时触发

onHide 从前台到后台时触发

onError 当出错时触发

xxx.js
页面级别的脚本,无需在wxml中调用就能直接使用,因为组成每个小程序页面的几个文件,在创建之初的时候,就已经关联在一起了。
Page() :定义在微信环境中,{ }中放置8个事件,以及n个自定义的方法和属性。

data:{}:当页面中的一些内容,会不断变化的情况,不要直接在页面上写死,要通过data:{}定义变量,传递到页面。

触发事件
onclick=“abc( )" 等于 bindtab="abc",abc是自定义事件

this
无论是App({})还是Page({})中,this都是指{},通过this,可以调用{}中的任意方法、方法中德变量等
微信小程序如果用了接口API,部分禁止写this,任何事件调用都先写一句 var that=this; 这时that指代包含这句代码的对象,在该对象中的方法中的this,指代该方法。这样就避免了混淆this。

更改innerHTML内容
只要需要来回变化的东西,都应该用ng变量的方式解决
由于小程序中没有dom、document,无法得到页面标记,就无法改变innerHTML
解决:
功能改成一个ng变量,在对应js文件里面的data:{}里面初始化变量,然后在自定义事件里面用 this.setData({变量:”df“})的方式,改变变量的值,对应的页面内容也随之改变。

改变数组中的值

//修改data中的数组的值时 'this.data.markers[0].latitude' : x ; 这种写法是错误的。this.data 是多余的,因为setdata()默认就已经获得data了。
data: {
    longitude: 0,
    latitude: 0,
    markers: [{
      id: 0,
      latitude: 2,
      longitude:3,
      width: 50,
      height: 50
    }]
}
//x、y为假设的值
that.setData({ 
          latitude: x ,
          longitude: y,
          'markers[0].latitude':x,
          'markers[0].longitude':y
        });
        

动态的改页面样式
改style样式
像改innerHTML内容一样,先把标记中的style样式值定义在对应js文件里面的data:{}里面初始化变量,然后在自定义事件里面用 this.setData({变量:”df“})的方式,改变变量的值,对应的页面样式也随之改变。。
改选择器名
先将对应的样式定义在wxss里面,然后在自定义事件里面用 this.setData({变量:”df“})的方式改变相应标记的选择器名。

延伸技巧:一键换肤(适用于普通的前端开发与小程序)  
    事先写好几套样式,这几套样式除最外层元素的选择器名不一样之外,各个子元素的选择器名都一样。点击相应按钮触发事件,改变最外层元素的选择器名,样式被改变。然后将改变后的选择器名存储到本地存储,下次再打开时直接取出被选中的选择器名,就能展现用户上次选中的样式。

rpx
100%===750rpx,不管你的手机是多大屏幕,它都会默认你的屏幕是750rpx,然后进行适配。

APP.json文件

//如果各个子页面中定义了各自的json样式,就会覆盖app.js中定义的样式。
"window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#b53e1d",
    "navigationBarTitleText": "长膘膘",
    "navigationBarTextStyle":"#fff"
  }
//子页面中可以不写json,如果要写,至少要有一个{}
            {
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#b53e1d",
    "navigationBarTitleText": "长膘膘",
    "navigationBarTextStyle":"#fff"
  }
//这等同于:app.json中的window,(注意没有window)只不过这是页面级别的配置,在子页面中只能设置这些,别的不能设置,比如不能设置tab

地图
返回的位置信息有两种类型:默认为 wgs84 返回 gps 坐标,gcj02 返回可用于wx.openLocation的坐标,后者更精确.

map 组件使用的经纬度是火星坐标系,调用 wx.getLocation 接口需要指定 type 为 gcj02。

事件
bind/catch
tap 点击
longtap 长按
touchstart 触摸开始
touchmove 触摸移动
touchend 触摸结束
touchcancel 触摸取消
touchstart touchend tap 轻触
touchstart touchmove touchend 滑动

数据请求
小程序在未上线之前,可以请求本地数据,上线之后要有https协议的域名。

请求路径不合法时,在项目设置中设置不校验安全域名,否则无法请求。
image

image 默认有一个宽度和高度(320*240),不设置宽高的情况下会扰乱布局。

picker 标记里面不要用input填充数据,那样点击时有时会调出键盘,而不是选择面板,用view标记填充数据就好。

movable-view 后渲染的view的z-index,总比先渲染的view大。

相关文章

网友评论

      本文标题:小程序入门知识点整理 一

      本文链接:https://www.haomeiwen.com/subject/kxaukqtx.html