轻源码

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
一起源码网 门户 微信小程序 查看主题

text文本溢出单行/多行省略,页面跳转与返回并回传数据,通过api接口将json数据展现到 ...

发布者: jiangtao | 发布时间: 2018-1-27 21:25| 查看数: 6877| 评论数: 1|帖子模式

本文聚合了三个知识点

一:页面跳转与返回并回传数据

 
A页面:

.wxml文件

  1. <view class="flex-wrp">
  2. <text style="width: 32%;">选择城市</text>
  3. <input style="width: 68%;" type="text" bindtap="city" placeholder="请选择城市" value="{{cityName}}"/>
  4. </view>

.js文件

  1. Page({
  2. data: {
  3. cityName:"深圳" #用来回传的关键字,默认深圳
  4. },
  5. city: function(e){
  6. wx.navigateTo({
  7. url: '../city/city'
  8. })
  9. }
  10. })

A页面跳转B页面之后返回:

  1. cityNameClick: function (event) {
  2. var cityName = event.currentTarget.dataset.cityname;
  3. console.log(cityName);
  4. var pages = getCurrentPages();
  5. var currPage = pages[pages.length - 1]; //当前页面
  6. var prevPage = pages[pages.length - 2]; //上一个页面
  7. //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
  8. prevPage.setData({
  9. cityName: cityName
  10. })
  11. wx.navigateBack();
  12. },

 
实现知乎客户端的一个重要知识前提就是,要知道怎么通过知乎新闻的接口,来把数据展示到微信小程序端上。 
那么我们这一就先学习一下,如何将接口获取到的数据展示到微信小程序上。 
1.用到的知识点

  • wx.request 请求接口资源(微信小程序api中的发起请求部分)
  • swiper 实现轮播图的组件
  • wx:for 循环语句
  • 微信小程序的基础知识

2.实现原理

首先,先看一下这个请求函数

  1. var
  2. wx.request({
  3. url: '******', //这里填写你的接口路径
  4. header: { //这里写你借口返回的数据是什么类型,这里就体现了微信小程序的强大,直接给你解析数据,再也不用去寻找各种方法去解析json,xml等数据了
  5. 'Content-Type': 'application/json'
  6. },
  7. data: {//这里写你要请求的参数
  8. x: '' ,
  9. y: ''
  10. },
  11. success: function(res) {
  12. //这里就是请求成功后,进行一些函数操作
  13. console.log(res.data)
  14. }
  15. })

3.代码 
分解图

<1>首先上一段知乎接口数据的json格式中的开头

  1. "date":"20161114",
  2. "stories":[
  3. {
  4. "images":[
  5. ""
  6. ],
  7. "type":0,
  8. "id":8975316,
  9. "ga_prefix":"111422",
  10. "title":"小事 · 我和你们一样"
  11. },
  12. {
  13. "images":[
  14. ""
  15. ],
  16. "type":0,
  17. "id":8977438,
  18. "ga_prefix":"111421",
  19. "title":"成长嘛,谁说就意味着一定要长大了?"
  20. },

<2>index.js中

  1. Page({
  2. data: {
  3. duration: 2000,
  4. indicatorDots: true,
  5. autoplay: true,
  6. interval: 3000,
  7. loading: false,
  8. plain: false
  9. },
  10. onLoad: function () {
  11. var that = this//不要漏了这句,很重要
  12. wx.request({
  13. url: ',
  14. headers: {
  15. 'Content-Type': 'application/json'
  16. },
  17. success: function (res) {
  18. //将获取到的json数据,存在名字叫zhihu的这个数组中
  19. that.setData({
  20. zhihu: res.data.stories,
  21. //res代表success函数的事件对,data是固定的,stories是是上面json数据中stories
  22. })
  23. }
  24. })
  25. }
  26. })

<3> index.wxml中

  1. <view >
  2. <swiper indicator-dots="{{indicatorDots}}"
  3. autoplay="{{autoplay}}" class="banners" interval="{{interval}}" duration="{{duration}}">//这里边的属性不重要,看下边
  4. <block wx:for="{{zhihu}}">
  5. <swiper-item class="banner" >
  6. <image src="{{item.image}}" data-id="{{item.b}}" bindtap="bindViewTap" class="banner-image" width="100%" height="100%"/>
  7. <text class="banner-title">{{item.title}}</text>
  8. </swiper-item>
  9. </block>
  10. </swiper>
  11. </view>

看完这个代码,你会想,根据微信小程序的绑定原理,这里边的代码哪里调用了onLoad()这个函数,不用多想,微信小程序给你省略了这些步骤。直接调用zhihu这个数组就行。

三:text文本溢出单行/多行省略

 
在做小程序的时候遇到在text标签里面的文本过长,需要限制显示长度,并且在限制了长度的后面加上省略号代表后面还有内容。

这时候设置样式:

  1. .note_item text{
  2. display: -webkit-box;
  3. font-size:28rpx;
  4. color:#000000;
  5. line-height: 40rpx;
  6. word-break: break-all;
  7. -webkit-box-orient: vertical;
  8. -webkit-line-clamp:3;
  9. overflow: hidden;
  10. text-overflow:ellipsis;
  11. }

如果只显示单行的话:

  1. .note2_item text{
  2. display: block;
  3. font-size:28rpx;
  4. color:#000000;
  5. line-height: 40rpx;
  6. height: 120rpx;
  7. overflow: hidden;
  8. white-space: nowrap;
  9. text-overflow:ellipsis;
  10. }

这里两个display是不同的

最新评论

ゅ≈飛揚≈ゅ 发表于 2022-5-15 06:16
下载站网站源码

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表