微信小程序 — 怎么获得view中的文本、id等等

微信小程序-怎么获得view中的文本、id等等?


怎么硕呢,取id很简单,取text两种情形,分开来说,先说id和第一种:

为了方便,我下面全用view

一、通过自定义data-text获取与定义一样的文本

<!-- index.wxml -->
<view id="outer" catchtap='pressView'>
  <view class="top">
    <view class="clear" id="clear" data-text="C">C</view> <!-- 那个data-text就是你自定义的 -->
  </view>
</view>
//index.js
Page({

  pressView: function (e) {
    var viewId = e.target.id;
    var viewDataSet = e.target.dataset;
    var viewText = viewDataSet.text;
    console.log(viewId); //输出点击的view的id,第二种情况就不重复写了
	console.log(viewText); //输出该文本
  }

})

解释一下:

  1. 首先,上面的标签(如<view></view>)包括开始和结束,属性是来修饰这个标签,内容是在两个标签之内,一般会一点html的都知道。

  2. 然后,组件都会有共有属性,微信小程序语言也不例外,它的共有属性如下:

    id、class、style、hidden这些都不用解释了。
    bind* 、 catch*:这两个是触发事件,此处用到了catch*,只要点击view就会触发执行。
    data-*:这个是自定义属性,你可以随意定义后面的*,如data-text,然后给他赋值,就相当于html中input的value。
    
    
  3. 然后就用上面的方法用 e.target.dataset.text即可获得text,如果你定义的是data-giao,通过e.target.dataset.giao也是可以取出来的,不过这样写就有点皮,尽量符合常规命名规则


二、通过this.data获取view文本

为了方便,我下面全用view

<!-- index2.wxml -->
<!-- 这是我临时写的一点,button用view代替,没差,主要知道怎么获取就好 -->
<view id="outer" catchtap='pressView'>
  <view class="top">
    <view class="temp" id="temp" >{{tempText}}</view> 
    <view class="click" id="click" >获取上一个view文本</view> 
  </view>
</view>
//index2.js
Page({
 data: {
    tempText: "Sclifftop~"		//默认赋值
  },
  pressView: function (e) {
    var viewText=this.data.tempText; 
    console.log(viewText); //获取上一个view的文本,不需要自定义data-*了
  }

})

解释一下:

  1. 初始是给tempText赋值为"Sclifftop~", 然后点击"获取上一个view文本",控制台输出Sclifftop~。

  2. 没错,获取文本的方式就是this.data.tempText,想获取哪个就在那个地方加“{{ T }}”(Mustache 语法,你可以把T叫做占位符),通过T 获取


很简单的事,不懂就看API,对于什么都不知道的新手,这其实就是HTML+CSS+JS,只是改了个叫法

最近做的一个小工具,聚合地铁查询、路线查询,二维码生成,计算器等功能,可以扫下面的二维码,有需要的可以用
维尼聚合工具


  • 12
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序,可以使用WXML模板语言和JavaScript语言来实现遍历4个矩形框,以及获取矩形框里面的文本内容。 首先,在WXML,可以使用wx:for循环来遍历4个矩形框,并将每个矩形框绑定到一个数组的元素上,例如: ``` <view wx:for="{{rects}}" wx:key="{{index}}"> <view class="rect" bindtap="onTapRect{{index}}">{{item.text}}</view> </view> ``` 上面的代码,`wx:for`属性指定了要遍历的数组`rects`,`wx:key`属性指定了数组元素的唯一标识符,`item`表示遍历到的当前元素,`index`表示当前元素的索引。在`<view>`标签,使用`{{item.text}}`来显示矩形框里面的文本内容。 然后,在JavaScript,可以定义一个`rects`数组来存储4个矩形框的信息,例如: ``` Page({ data: { rects: [ { id: 1, text: '矩形框1' }, { id: 2, text: '矩形框2' }, { id: 3, text: '矩形框3' }, { id: 4, text: '矩形框4' } ] }, onTapRect1: function() { console.log('点击了矩形框1,文本内容为:' + this.data.rects[0].text); }, onTapRect2: function() { console.log('点击了矩形框2,文本内容为:' + this.data.rects[1].text); }, onTapRect3: function() { console.log('点击了矩形框3,文本内容为:' + this.data.rects[2].text); }, onTapRect4: function() { console.log('点击了矩形框4,文本内容为:' + this.data.rects[3].text); } }) ``` 上面的代码,`data`属性指定了页面的数据,包括了`rects`数组。在每个矩形框的`<view>`标签,使用`bindtap`属性来绑定点击事件,并指定对应的处理函数。在处理函数,使用`this.data.rects[index].text`来获取对应矩形框里面的文本内容,并进行相应的处理。 当然,上面的代码只是一个示例,具体实现还需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值