当前位置: 首页 > news >正文

中国建设部官方网站专业的seo搜索引擎优化培训

中国建设部官方网站,专业的seo搜索引擎优化培训,网站域名解析查询,做网站 当站长目录 1 显示文本2 自定义组件3 变量定义4 值绑定总结 我们上一篇讲解了TDesign模板的基本用法,如何开始阅读模板。本篇我们讲解一下自定义组件的用法。 1 显示文本 官方模板在顶部除了显示图片外,还显示了一段文字介绍。文字是嵌套在容器组件里&#xf…

目录

  • 1 显示文本
  • 2 自定义组件
  • 3 变量定义
  • 4 值绑定
  • 总结

我们上一篇讲解了TDesign模板的基本用法,如何开始阅读模板。本篇我们讲解一下自定义组件的用法。

1 显示文本

官方模板在顶部除了显示图片外,还显示了一段文字介绍。文字是嵌套在容器组件里,先按照他的写法复制代码到我们自己创建的index.wxml文件里

<view class="main"><view class="title-wrap"><image class="title-icon" mode="aspectFit" src="/assets/TDesignLogo@2x.png" aria-label="TDesign Logo" /></view><view> TDesign 适配微信小程序的组件库 </view>
</view>

因为我们的布局是从上到下,默认状态下view组件是块级布局,所谓的块级布局就是占满一行,为了看到具体的效果,我们给新添加的布局组件添加一个样式

 .desc{border:1px red solid}

然后在布局容器组件使用class属性引用我们的样式

<view class="desc"> TDesign 适配微信小程序的组件库 </view>

在这里插入图片描述
样式是增加了一个边框,可以看到新添加的这个容器组件是占满一行的

知道布局的原理后,给文本组件添加一些新的样式

.desc {color: rgba(0, 0, 0, 0.4);margin-top: 32rpx;font-size: 28rpx;font-weight: 400;line-height: 44rpx;margin-bottom: 48rpx;padding-left: 16rpx;padding-right: 16rpx;
}

首先是设置了文章的颜色,颜色模式我们使用了rgb来设置,每个位置的取值范围是0~255,最后一位是不透明度,取值是0 ~ 1,这样通过不透明度的设置我们就得到了一个灰色

其余的给了文本一定的内边距和外边距,同时设置了字体大小、字重和行高

在这里插入图片描述

2 自定义组件

接着官方模板引入了一个自定义组件

<pull-down-listwx:for="{{list}}"name="{{item.name}}"icon="{{item.icon}}"wx:key="name"childArr="{{item.childArr}}"bind:click="clickHandle"/>

这里的pull-down-list就是自定义组件,首先是要在我们的index.json文件里引入

{"usingComponents": {"pull-down-list": "../../components/pull-down-list/index"}
}

使用usingCompnents属性来标注我们使用了哪些组件,然后属性名表示我们组件的名称,属性值配置了自定义组件具体的路径

…/表示相对路径,这样就找到了根目录下的组件
在这里插入图片描述
一个自定义组件包含index.js、index.json、index.wxml、index.wxss

在index.json中声明这是一个自定义组件

{"component": true
}

在index.js里声明了组件有哪些属性,有哪些方法
在这里插入图片描述

3 变量定义

组件上需要设置一些属性,这些属性的值是通过变量进行赋值,变量我们在index.js里定义

官方模板的构造是使用了模块的导入导出来管理不同的菜单数据,先在index文件下建一个data文件夹,然后里边放置每个菜单的js

在这里插入图片描述
首先我们先阅读一下base.js

const base = {name: '基础',icon: 'app',childArr: [{name: 'Button',label: '按钮',},{name: 'Divider',label: '分割线',},{name: 'Fab',label: '悬浮按钮',},{name: 'Icon',label: '图标',},{name: 'Link',label: '链接',},],
};
export default base;

const关键字表示我们定义一个常量,等号表示赋值的意思,一对儿大括号表示这是一个对象,里边有name、icon、childArr这三个属性,name和icon是字符串,childArr是一个数组,数组里又放置了一系列对象属性

代码的最后一行通过export语句将base变量进行了导出

我们再看一下index.js

import base from './base';
import nav from './nav';
import display from './display';
import form from './form';
import ux from './ux';
export default [base, nav, form, display, ux];

先是用import关键字将每个js文件里导出的变量进行了导入,然后将几个变量合并到数组里进行导出

通过这样的代码组织方式,我们就比较合理的维护好了每个菜单的具体的值,然后在我们首页的index.js里引入我们定义的变量,放入到我们的data属性里

// pages/index/index.js
import list from './data/index';
Page({/*** 页面的初始数据*/data: {list},/*** 生命周期函数--监听页面加载*/onLoad(options) {console.log(list)},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

凡是在页面上需要使用的变量我们都需要放入到data属性里,页面有生命周期函数,我们在页面加载方法里把我们的list打印一下看看究竟有哪些值

在这里插入图片描述
可以看到最终的list是一个有五个元素的数组,每个元素又有name、icon、childArr这三个属性

4 值绑定

在js中定义好变量之后,就需要在组件上使用,先是wx:for表示这是一个循环,需要传入一个数组,而我们的变量正好是一个数组,值绑定的时候需要使用双大括号的语法,标识我们里边的内容是一个变量

wx:for="{{list}}"

然后就要从循环中填充具体的属性,我们的循环体用item来表达,可以通过点的语法取具体的属性

最终的完整组件用法

<pull-down-listwx:for="{{list}}"name="{{item.name}}"icon="{{item.icon}}"wx:key="name"childArr="{{item.childArr}}"bind:click="clickHandle"/>

这里还有一个就是组件还可以绑定事件,是通过bind:click体现,现在是绑定了点击事件,传入的值是clickHandle

clickHandle需要在index.js的method里定义

// pages/index/index.js
import list from './data/index';
Page({/*** 页面的初始数据*/data: {list},/*** 生命周期函数--监听页面加载*/onLoad(options) {console.log(list)},clickHandle(e) {let { name, path = '' } = e.detail.item;if (!path) {name = name.replace(/^[A-Z]/, (match) => `${match}`.toLocaleLowerCase());name = name.replace(/[A-Z]/g, (match) => {return `-${match.toLowerCase()}`;});path = `/pages/${name}/${name}`;}wx.navigateTo({url: path,fail: () => {wx.navigateTo({url: '/pages/home/navigateFail/navigateFail',});},});},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

定义了方法之后就可以跳转到对应的页面,当然了我们看模板只需要看懂他具体的思路即可,在实际业务开发中事件里边具体的逻辑该如何写是由你的需求决定的,看模板是打开一个思路可以更好的完成业务逻辑的编写

总结

我们本篇解读了TDesign中如何使用自定义组件,当然了我们入门开发还不需要做的这么复杂,通常我们是调用组件库中的组件来帮助我们提效,等后续对自定义组件了解深入之后再自己扩展。

http://www.hkea.cn/news/767507/

相关文章:

  • 国外手做网站搜索引擎推广的关键词
  • 网站建设商标注册多少类目域名注册免费
  • 哪里有网站设计公司长沙网络公司最新消息
  • 试描述一下网站建设的基本流程百度怎么发布短视频
  • 我现在有域名怎么做网站搜索关键词热度
  • 海外如何 淘宝网站建设快速seo整站优化排行
  • 代还信用卡网站建设赣州seo顾问
  • 响应式网站建设推广开网店
  • 成都专业网站推广公司优化大师优化项目有
  • 怎么用wordpress搭建网站百度关键词排名点
  • 外挂网站模板域名搜索引擎入口
  • 手机网站开发 pdfseo搜索引擎优化工作内容
  • 上海中小网站建设洛阳seo博客
  • 南宁网站建设公司哪家专业搜索引擎优化包括
  • 新疆住房与建设厅网站新产品推广方式有哪些
  • 做网站站怎么赚钱网络营销模式有哪些?
  • 南通城市建设集团有限公司网站南京谷歌推广
  • 南通网站定制方案怎么查找关键词排名
  • 权大师的网站是哪个公司做的百度做个人简介多少钱
  • 烟台网站建设设计软文广告经典案例100字
  • 做微信用什么网站广州百度seo代理
  • 网站建设目标 优帮云跨境电商营销推广
  • 郑州华恩科技做网站怎么样竞价排名适合百度吗
  • flask做大型网站开发深圳seo博客
  • 合肥网站建设平台小程序怎么引流推广
  • 做网站被拘留免费找客源软件
  • 门户型网站建设百度seo快速提升排名
  • 印度做杂质的网站如何进行网络推广
  • 建设厅八大员兴安盟新百度县seo快速排名
  • 南京网站建设索q.479185700小说排行榜百度