微信小程序_组件

微信小程序_组件,第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玩去,收缩

目前mini-router支持微信小程序里的路由的所有方法,函数名对比:

当你输入一个在pages模块中找不到的路由时(log),mini-router会抛出错误,例如:

mini-router内置了一个属性 params ,它会根据你跳转的页面,动态的更换当前属性的值。

参数存储在storage里,你可以通过小程序调试工具看到:

获取参数时,你不必知道它存储在storage里的key是什么,你只要拿 app$routerparams 就可以了

mini-router 通过 back 或者 backHome 函数实现反向传值(反向携带参数)

当你选择不携带参数返回时,在首页你将拿不到 app$routerparams ,因为 mini-router 会把 params 软删除,如果你需要的话,你还是可以从storage里拿到它。

mini-router同小程序一样,提供三种状态 success , fail , complete

不同于小程序,mini-router使用链式调用来处理这三种状态,

上面的都是通过params传参,传的参数缓存在了storage里,新增加的query类型传参,将参数拼接到了url后面:

Github: >

创建组件的方法:

步骤一

在小程序项目中添加一个components文件夹,里面存放自定义的组件,然后在components目录下新建一个customComponent文件夹,文件夹可以命名为自定义组件名字相关,用来存放自定义的组件。

在这个文件夹右键,选择新建组件,输入组件名,一个自定义组件由 json, wxml, wxss, js4个文件组成,此时将自动生成这四个文件。

步骤二

接下来进行组件的相关配置:

首先需要在 json 文件中进行自定义组件声明(将component 字段设为 true 可这一组文件设为自定义组件

步骤三

引用组件:

在父级中:“useingComponents”:{

“命名”:“子级路径”,

}

在实际开发中,很多时候都需要要上传,但是对于上传多张时需要一张张的上传,因为都可能比较大,这时就需要我们对上传的API进行进一步的处理,这样就解决了我们同时选择上传多张需求。所以为了方便以后使用,封装成一个特定的组件分享出来,也许很多能用到,也可能用不到,但是修改一下还是差不多一样可以用的。

多张上传的原理其实就是用递归的方法,在每一张上传完之后再继续上传下一张,直到完成为止。

新建一个uploadImages组件文件,定义组件的样式结构及js文件。

1页面样式布局

view

css

插件这样大概就完成了,不过不是每一个人都是和我一样的情况,使用请具体项目分析。

实例请查看地址: >

新建文件requestjs,将请求的封装方法写在里面

页面调用,在页面的js文件中引用

小程序默认请求超时时间是60秒,等待时间有点长,我们可以在appjson中进行设置

每个页面请求的时候都要引用封装,还是有点麻烦。注意到小程序页面都可以获取appjs的实例(const app = getApp()),所以可以改一下封装,将封装方法直接暴露出去,在appjs中再配置POST/GET等请求;请求的url也可以抽出来写在一起,方便查找和修改。自己试一下吧~

//觉得有用的话,点个喜欢再走嘛(不要脸jpg)

一、在pages同级创建request文件夹 在此文件夹下创建一个indexjs文件夹 在此文件夹内写入封装的api

const request = (method,url,params) => {               // method (请求方式)     url (请求的路径)   params (请求的参数)

  return new Promise((resolve,reject) => {             // 创建一个promise函数 

    let baseUrl = "公共url"

    unishowLoading({                                               // 添加加载动画

        title: '加载中'

    });

    unirequest({                                                         // 发送请求

        url: baseUrl + url,                                             // url 形参就是传入的地址

        data: params params:'',                               // 传入的请求参数

        method: method,                                            // 传入的请求方式

        success: res => {                                           // 成功的函数

          resolve(resdata);

          unihideLoading();

        },

        fail: err => {                                                 // 失败的函数

          reject(err); 

          unihideLoading();

        }

    });

  })

}

const api = {

  get: (url,params) => request("GET",url,params),

  post: (url,params) => request("POST",url,params)

}

export default api;                                                // 抛出接口

二、在request 文件目录下 创建一个 home文件夹  在home 文件夹内新建indexjs文件

// 所有的首页的请求 ,都放在这里维护

import api from '/indexjs';

export const get = params =>  apiget('路径',params);              // get请求

export const post = params =>  apipost('路径',params);              // post请求

三、在所需要请求数据的页面内

import  请求名  from '文件路径';

在小程序项目开发中,对请求做封装是比较常见的 *** 作,我们可以在封装过的请求里,做一些统一处理,比如统一配置、请求拦截、错误异常处理、授权处理等

好了,我们直接看干货,上代码

在项目根目录下新建一个request目录,再在目录下新建一个indexjs文件,文件里的内容如下

好了,wx小程序request请求封装就到这了

觉得效果不错的请帮忙加个关注点个赞,经常分享前端实用开发技巧

新手在第一次自定义组件的时候,首先写出来需要定义的组件的内容和布局,防止不熟练而出错。

一、新建一个文件夹,自己命名。以后所有的自定义组件都存放于此。

二、在此文件夹下新建一个自行命名的文件夹,命名最好语义化,与里面自定义组件的名字相呼应。

三、在新建的文件夹内新建一个Component文件 命名也是自定义。

四、在xxx里面把事先写好的ml和ss以及js文件复制进去。

1、把提前写好的页面布局复制到这个此文件里面。写法和在普通页面的写法一样  {{}}是插值表达式。这里可以直接使用js里面定义的数据。

eg:

1、组件自定义的属性列表写在 properties里面。需要写成对象的形式 

eg:

2、组件的方法列表写在 methods里面

eg:

五、在需要引用自定义组件页面文件的xxxjson里面引用。

注意:引用的时候,不可以以/开头。前面命名可以自命名,不必和后面名字一样。

六、在需要引用的页面里的的xxxwxml里写已经命名好的组件。

组件的名字为自定义命名。

eg:

因为组件是自己写的,并非微信提供的官方组件,所以如果想要获取触发事件的话 ,需要写一个同步组件回传数据

触发自定义事件用triggerEvent。在需要调用的方法内写thistriggerEvent(“自定义属性名”,‘需要更新的数据’)

eg:

然后将此事件绑定到页面中。绑定事件需要用bind:自定义的方法名=“js中定义的方法”

利用data-active="变量名"属性添加需要变化的变量

eg:

xxxwxml内写法:

注意:想要在页面中使用自定义的组件属性时,必须要现在定义组件的文件夹内的js文件中,先去定义属性,然后才可以引入使用。

以上就是关于微信小程序_组件全部的内容,包括:微信小程序_组件、微信小程序 封装路由 mini-router、小程序创建和引用组件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9343689.html

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

发表评论

登录后才能评论

评论列表(0条)

保存