微信小程序_组件

微信小程序_组件,第1张

1基础组件

什么是组件:

<ul>

<li>组件是视图层的基本组成单元。</li>

<li>组件自带一些功能与微信风格的样式。</li>

<li>一个组件通常包括开始标签

和结束标签

,属性

用来修饰这个组件,内容

在两个标签之内。</li>

</ul>

2属性类型

<ul>

<li>Boolean 布尔值 组件写上该属性,不管该属性等于什么,其值都为true

,只有组件上没有写该属性时,属性值才为false

。如果属性值为变量,变量的值会被转换为Boolean类型</li>

<li>Number 数字 1

, 25</li>

<li>String 字符串 "string"</li>

<li>Array 数组 [ 1, "string" ] </li>

<li>Object 对象 { key: value } </li>

<li>EventHandler 事件处理函数名 "handlerName"

是 Page中定义的事件处理函数名</li>

<li>Any 任意属性 </li>

</ul>

3共同属性类型

id , class , style , hidden , data- , bind / catch

4特殊属性

几乎所有组件都有各自定义的属性,可以对该组件的功能或样式进行修饰

5组件列表

基础组件分为以下八大类:

视图容器(View Container):

view 视图容器 , scroll-view 可滚动视图容器, swiper 滑块视图容器

基础内容(Basic Content):

icon 图标, text 文字, progress 进度条

表单(Form):

button 按钮, form 表单, input 输入框, checkbox 多想选择器, radio 单选器, picker 列表选择器, slider 滚动选择器, switch 开关选择器, label 标签

*** 作反馈(Interaction)

action-sheet 上拉菜单

modal 模态d窗

toast 消息提示框

loading 加载提示符

导航Navigation

navigator 应用链接

多媒体(Media)

audio 音频, image , video 视频

地图

map 地图

画布Canvas

canvas 画布

flex: vt折曲,使收缩; vi玩去,收缩

这里整理了一份web前端学习路线的思维导图,需要掌握和学习的内容如下:

第一阶段:专业核心基础

阶段目标:

1 熟练掌握HTML5、CSS3、Less、Sass、响应书布局、移动端开发。

2 熟练运用HTML+CSS特性完成页面布局。

4 熟练应用CSS3技术,动画、d性盒模型设计。

5 熟练完成移动端页面的设计。

6 熟练运用所学知识仿制任意Web网站。

7 能综合运用所学知识完成网页设计实战。

知识点:

1、Web前端开发环境,HTML常用标签,表单元素,Table布局,CSS样式表,DIV+CSS布局。熟练运用HTML和CSS样式属性完成页面的布局和美化,能够仿制任意网站的前端页面实现。

2、CSS3选择器、伪类、过渡、变换、动画、字体图标、d性盒模型、响应式布局、移动端。熟练运用CSS3来开发网页、熟练开发移动端,整理网页开发技巧。

3、预编译css技术:less、sass基础知识、以及插件的运用、BootStrap源码分析。能够熟练使用 less、sass完成项目开发,深入了解BootStrap。

4、使用HTML、CSS、LESS、SASS等技术完成网页项目实战。通过项目掌握第一阶段html、css的内容、完成PC端页面设计和移动端页面设计。

第二阶段:Web后台技术

阶段目标:

1 了解JavaScript的发展历史、掌握Node环境搭建及npm使用。

2 熟练掌握JavaScript的基本数据类型和变量的概念。

3 熟练掌握JavaScript中的运算符使用。

4 深入理解分之结构语句和循环语句。

5 熟练使用数组来完成各种练习。

6熟悉es6的语法、熟练掌握JavaScript面向对象编程。

7DOM和BOM实战练习和H5新特性和协议的学习。

知识点:

1、软件开发流程、算法、变量、数据类型、分之语句、循环语句、数组和函数。熟练运用JavaScript的知识完成各种练习。

2、JavaScript面向对象基础、异常处理机制、常见对象api,js的兼容性、ES6新特性。熟练掌握JavaScript面向对象的开发以及掌握es6中的重要内容。

3、BOM *** 作和DOM *** 作。熟练使用BOM的各种对象、熟练 *** 作DOM的对象。

4、h5相关api、canvas、ajax、数据模拟、touch事件、mockjs。熟练使用所学知识来完成网站项目开发。

第三阶段:数据库和框架实战

阶段目标:

1 综合运用Web前端技术进行页面布局与美化。

2 综合运用Web前端开发框架进行Web系统开发。

3 熟练掌握Mysql、Mongodb数据库的发开。

4 熟练掌握vuejs、webpack、elementui等前端框技术。

5 熟练运用Nodejs开发后台应用程序。

6 对Restful,Ajax,JSON,开发过程有深入的理解,掌握git的基本技能。

知识点:

1、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,mongodb数据库。深入理解数据库管理系统通用知识及MySQL数据库的使用与管理,为Nodejs后台开发打下坚实基础。

2、模块系统,函数,路由,全局对象,文件系统,请求处理,Web模块,Express框架,MySQL数据库处理,RestfulAPI,文件上传等。熟练运用Nodejs运行环境和后台开发框架完成Web系统的后台开发。

3、vue的组件、生命周期、路由、组件、前端工程化、webpack、elementui框架。Vuejs框架的基本使用有清晰的理解,能够运用Vuejs完成基础前端开发、熟练运用Vuejs框架的高级功能完成Web前端开发和组件开发,对MVVM模式有深刻理解。

4、需求分析,数据库设计,后台开发,使用vue、node完成pc和移动端整站开发。于Nodejs+Vuejs+Webpack+Mysql+Mongodb+Git,实现整站项目完整功能并上线发布。

第四阶段:移动端和微信实战

阶段目标:

1熟练掌握Reactjs框架,熟练使用Reactjs完成开发。

2掌握移动端开发原理,理解原生开发和混合开发。

3熟练使用react-native和Flutter框架完成移动端开发。

4掌握微信小程序以及了解支付宝小程序的开发。

5完成大型电商项目开发。

知识点:

1、React面向组件编程、表单数据、组件通信、监听、声明周期、路由、Redux基本概念。练使用react完成项目开发、掌握Redux中的异步解决方案Saga。

2、react-native、开发工具、视图与渲染、api *** 作、Flutter环境搭建、路由、ListView组件、网络请求、打包。练掌握react-native和Flutter框架,并分别使用react-native和Flutter分别能开发移动端项目。

3、微信小程序基本介绍、开发工具、视图与渲染、api *** 作、支付宝小程序的入门和api学习。掌握微信小程序开发了解支付宝小程序。

4、大型购物网站实战,整个项目前后端分离开发;整个项目分为四部分:PC端网页、移动端APP、小程序、后台管理。团队协作开发,使用git进行版本控制。目期间可以扩展Threejs 、TypeScript。

在容器内向下滚动内容至底部的时候,偶尔会出现不触发bindscrolltolower事件,还是可以触发,但是必须先下滑再上拉才能触发

应该是因为安卓手机下拉滑动到底部时,系统监听到距离底部的距离通常大于50,所以不能触发相应的函数;而小程序默认下拉离底部50px时触发函数(ios没有这种情况)

可以通过官网给出的属性让他在滑动到底部之前执行加载

将lower-threshold设置成200

<view>父组件msg的值:{{msg}}</view>

<Header msg="{{msg}}" bindchildChange="change" ></Header>

<block wx:for="{{list}}" wx:key="index">

<ListItem rItem="{{item}}" bindchildGO="childGO"></ListItem>

</block>

<Header  msg="{{msg}}"></Header>

/ pages/list/listwxss /

item{

    padding: 5px;

}

img1{

    width: 120px;

    height: 120px;

    border-radius: 5px;

}

row{

    flex: 1;

    height: 120px;

}

title{

    padding: 10px;

}

dec{

    padding:0 10px;

}

// pages/list/listjs

Page({

    /

      页面的初始数据

     /

    data: {

        msg:"你是我的小宝贝",

     list:[{

         url:">

wxml内容:

<view bindtap="a" data-f="{{flag}}">123</view>

<!-- wx:for="{{数组}}" 循环需要绑定key wx:key="index"-->

<!-- 自带定义 item 表示数组的每一项 index 表示数组的索引 -->

<!-- 使用wx:for-item修改每一项值的key -->

<!-- 使用wx:for-index修改每一项值的index -->

<view wx:for="{{list}}" class="t" wx:key="i" 

    wx:for-item="r" wx:for-index="i"

    style="color:{{rstyFlag'red':''}};"

    data-i="{{i}}"

    bindtap="choose"

>

    {{rname}}--{{i}}

</view>

js内容:

data: {

        flag:1,

        list:['冰墩墩','雪融融','小泡菜'],

        list:[{

            name:'冰墩墩',

            styFlag:true

        },{

            name:'雪融融',

            styFlag:false

        },{

            name:'小泡菜',

            styFlag:false

        }]

    },

    choose:function(e){

        let { currentTarget:{ dataset:{i} } } = e;

        / 第一步获取点击的当前的内容的索引 /

        consolelog(i)

        / 排他 把所有的先置空 /

        thisdatalistforEach(r=>{

            rstyFlag = false

        })

        thisdatalist[i]styFlag = true;

        / 数据变了 视图没变 必须要使用setData实现数据和视图的双向数据绑定 /

        thissetData({

            list:thisdatalist

        })

    },

    a:function(e){

        consolelog(e)

    },

效果:

wxml内容:

<button bindtap="go1" style="margin: 3px;">张三</button>

<button bindtap="go2" style="margin: 3px;">李四</button>

<button bindtap="go3" style="margin: 3px;">24号</button>

<button bindtap="go4" style="margin: 3px;">不带参数</button>

<button bindtap="goBack">返回上一级</button>

<!-- wx:if 和 wx:elif 以及wx:else之间不可以被其他的标签打断 -->

<block>

    <view wx:if="{{msg=='zhangsan'}}" class="t">欢迎回来主人</view>

    <view wx:elif="{{msg=='lisi'}}" class="t">家里水龙头没有坏不要过来</view>

    <view wx:elif="{{msg=='24'}}" class="t">您好欢迎为您服务</view>

    <view wx:else class="t">显示家里没人</view>

</block>

js内容:

Page({

    /

      页面的初始数据

     /

    data: {

        msg:""

    },

    goBack:function(){

        wxnavigateBack()

    },

    /

      生命周期函数--监听页面加载

     /

    onLoad: function (options) {

        consolelog(optionsname)

        / 多次使用setData会影响性能 尽量把多次setData 使用一次setData来实现

        尽量少的使用setData来提高小程序的性能 /

        thissetData({

            msg:optionsname

        })

        / 如果名字叫张三 页面显示欢迎回来主人 /

        / 如果名字叫李四 页面显示家里水龙头没有坏不要过来 /

        / 如果名字叫24号 页面显示您好欢迎为您服务 /

        / 都不是 显示家里没人 /

    },

    /

      生命周期函数--监听页面初次渲染完成

     /

    onReady: function () {

    },

    /

      生命周期函数--监听页面显示

     /

    onShow: function () {

    },

    /

      生命周期函数--监听页面隐藏

     /

    onHide: function () {

    },

    /

      生命周期函数--监听页面卸载

     /

    onUnload: function () {

    },

    /

      页面相关事件处理函数--监听用户下拉动作

     /

    onPullDownRefresh: function () {

    },

    /

      页面上拉触底事件的处理函数

     /

    onReachBottom: function () {

    },

    /

      用户点击右上角分享

     /

    onShareAppMessage: function () {

    }

})

{

  "pages": [

    "pages/index/index",

    "pages/forpage/forpage",

    "pages/mypage/mypage",

    "pages/logs/logs",

    "pages/fenglei/fenglei"

  ],

  "window": {

    "backgroundTextStyle": "dark",

    "navigationBarBackgroundColor": "#FF0000",

    "navigationBarTitleText": "kw47page",

    "navigationBarTextStyle": "white"

  },

  "tabBar": {

    "color": "#fff",

    "selectedColor": "#FFCA28",

    "backgroundColor": "#000",

    "list": [{

      "pagePath": "pages/index/index",

      "text": "首页",

      "iconPath": "",

      "selectedIconPath": ""

    }, {

      "pagePath": "pages/logs/logs",

      "text": "日志",

      "iconPath": "",

      "selectedIconPath": ""

    }]

  },

  "style": "v2",

  "sitemapLocation": "sitemapjson"

}

效果图:

以上就是关于微信小程序_组件全部的内容,包括:微信小程序_组件、web前端需要学什么、微信小程序中使用 bindscrolltolower 下拉加载有时候不触发等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9534380.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存