zoukankan      html  css  js  c++  java
  • 微信小程序

    目录结构:pages/

            index/

              index.js  配置文件入口,page()

              index.wxml  配置页面布局、UI

              index.wxss   页面的样式文件,可选,可覆盖app.wxss

              index.json   页面当前窗口定义 "window",可选,可覆盖app.json 的window中的配置

         app.js           App()  定义一个实例化方法,传入config配置项;定义项目的启动入口

         app.json        "pages":数组,配置每个页面;"window":JSON对象,定义当前窗口设置

         app.wxss       项目样式 (可选)

    数据的双向绑定:.wxml:{{text}}  在 .js 里定义data:{text:'xxx'}

                bindtap='btnClick'             btnClick:function(){ this.setData({text:'new xxx'})}

    渲染模式:条件渲染  判断标签<view wx:if="{{false}}">{{text}}1</view>  如果为false 就掩藏,为true 就显示。<view wx:else >{{text}}2</view>

        循环标签:<view wx:for="{{['aaa','bbb','ccc']}}">{{index}}-{{item}}</view>    //其中默认为item 读取到数组中的每一项,可以通过wx:for-item='news-item' 自定义;

    <view wx:for="{{['aaa','bbb','ccc']}}" wx:for-item="itemx">{{itemx}}</view>

    模版饮用:

    方式1:include 相当于把全部内容包括节点引入进来:<include src="../templates/header" />

    方式2:import 导入<template>  需要指定name值

    <import src='../template/footer'/>

    <template is='footers' data="{{text:'导入的设置内容...'}}" />    同时设置data来激活模版中的{{text}}

    事件 : 

    点击事件 tap 

    长按事件 longtap

    触摸事件  touchstart  touchend  touchmove  touchcancel

    其他  submit  input...

    事件冒泡:点击事件、长安事件、触摸事件都属于冒泡事件

    通过bindtap绑定的事件会触发事件冒泡

    通过catchtap绑定的事件不会触发事件冒泡

    事件的对象:currenttarget是当前绑定的事件

          target是触发的事件源 是冒泡的根元素

          dataset  自定义属性 data-id=''  data-title=''

    api配置:参考官网https://mp.weixin.qq.com/debug/wxadoc/dev/framework/config.html?t=20161122

    app的生命周期:

    App({
    onLaunch: function () {
       数据加载
    },
    onShow: function () {
       显示
    },
    onHide: function () {
    切换至后台时  
    }
    })

    可在app里定义全局变量或方法,子页面通过var app= getApp() ; app.xxx获取

    页面page()的生命周期

    Page({
    data:{
    String1
    },
    onLoad:function(options){   1
    // 页面初始化 options为页面跳转所带来的参数
    String2
    },
    onReady:function(){      3
    // 页面渲染完成
    String3
    },
    onShow:function(){       2
    // 页面显示  、进入此页面触发
    String4
    },
    onHide:function(){
    // 页面隐藏,跳转至其他页面时触发 、切换至后台
    String5
    },
    onUnload:function(){
    // 页面关闭 、离开的此页面触发
    String6
    }
    })

    页面跳转:

    方式1  wx.navigateTo({url:'../logs/logs?id=1'})

        wx.redirectorTo({...})   禁用返回

    方式2  <navigator url='' redirector><view....</navigator>    //加redirector 禁用了返回功能

    布局
    1 flex布局

     

    flex container 容器的属性:

    flex-direction 决定元素的排列方向

    flex-wrap 决定元素是否换行 wrap-reverse;wrap; nowrap;

    flex-flow:flex-direction和flex-wrap的简写  row nowrap;

    justify-content 元素在主轴上的对齐方式 center; flex-start; flex-end; space-around均匀对齐 ; space-between两端对齐;

    align-items 元素在交叉轴上的对齐方式  stretch (当元素没设置高度时,让item占据整个容器的高度);baseline:以内在一行文字的对齐;center ; flex-start; flex-end;

    flex item 元素的属性:

    flex-grow 当空间多余时,元素的放大比例   默认为0  1标示均匀充满主轴容器宽度。

    flex-shrink 当空间不足时,元素的缩小比例 默认为1 当空间不足时 默认等比缩小;0不缩小

    flex-basis 元素在主轴上占据的空间    300px;

    flex 是grow shrink basis 的简写

    order 定义元素的排列顺序    

    align-self 定义元素自身的对齐方式  (会覆盖align-items)

    2 相对布局 绝对布局

    relative  想对自身的定位

    absolute 相对于最近的已定位的父元素进行的定位

    动态伪类选择器(:link,:visited,:hover,:active,:focus)

    状态伪类选择器(:enabled,:disabled, :checked)   按钮禁用 选中

    选择伪类选择器(:first-child,:last-child,:nth-child(),:nth-last-child(),:nth-of-type(),:nth-last-of-type(),:first-of-type,:last-of-type,:only-child,:only-of-type)

    空内容伪类选择弃(:empty)

    否定伪类选择弃(:not)

    伪元素(::first-line第一行使用特定样式, ::first-letter第一个字符使用某种样式, ::before, ::after, ::selection)    .text1::after{content:'...';}在text1文本后添加文本...

    基础内容组件:icon  text progress

    视图容器组件:view scroll-view  swiper

    UI高级组件:

    1 action-sheet   <action-sheet hidden='{{}}' bindchange=''></action-sheet>

    2 toast     <toast hidden="{{toastHidden}}" duraction="1000"></toast>

    3 loading  <loading hidden="{{loadingHidden}}"></loading>

    导航组件<navigator url='../logs/logs' redirect><view...</navigator>

    地图组件<map ....>

    画布 canvas 

    请求服务器数据:wx.request({url:'',data:{x:'',y:''},hearder:{},success:function(res){}})

    产品开发过程 :

    Xmind 思维导图分析需求

    墨刀  原型图设计:页面元素   数据逻辑   操作逻辑

    产品层级、组建模块化设计:(原因1 有代码大小限制、2 提高代码复用率)

    方法1  通过WXML的import 和 include 来使用文件模版

      2  使用WXSS的@import 来引用 WXSS 文件

      3  使用JS的 require 来引用js文件

  • 相关阅读:
    循环处理
    XMLHttpRequest 加载进度
    createjs 的 bitmapdata类
    console打印数组object具体内容
    html5 粒子组合成logo 的制作思路及方法
    createjs 更新
    css取消input、select默认样式(手机端)
    js获取url参数 兼容某些带#url
    Adobe Edge Animate CC 不再开发更新!
    《FLASH CC 2015 CANVAS 中文教程》——3、this关键字 入门
  • 原文地址:https://www.cnblogs.com/yxiaoqian/p/6170072.html
Copyright © 2011-2022 走看看