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

小程序入门知识点整理 一

作者: 向上而活 | 来源:发表于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