《小坑》微信小程序原生开发点击按钮切换显示隐藏无效

在尝试随便写一些简单的代码熟悉微信小程序的代码写法时,发现一个简单的点击按钮切换一个变量的值,然后根据这个值作为wx:if属性的值切换显示隐藏时,虽然变量的值改变了的但是页面并没有变化。

代码如下:

<!--index.wxml-->

<button bindtap="mess">点击</button>
<block >
  <view class="dis" wx:if="{{dis}}">
  1111
  </view>
</block>
// index.js
// 获取应用实例
const app = getApp()
Page({
  data: {
    foo: 'my-foo',
    bar: 'my-bar',
    dis:false,
  },
 
  mess(){
      this.dis=this.dis
    console.log(this.dis)
  },

控制台输出是能够正常输出的

但是页面需要显示的内容却没有任何变化

然后查了一下资料才知道,改变变量的值是需要写在this.setData({})里才能够切换显示或隐藏,可以理解为写在this.setData({})中的变量切换之后才会触发页面重新渲染,这和vue的数据发生变化自动更新视图不一样

// index.js
// 获取应用实例
const app = getApp()
Page({
  data: {
    foo: 'my-foo',
    bar: 'my-bar',
    dis:false,
  },
 
  mess(){
    this.setData({
      dis:!this.data.dis
    })
    console.log(this.data.dis)
  },

 这样就能够正常点击按钮显示或隐藏了 

在微信小程序开发的官方文档中并没有查到相关的问题,并且与vue的代码写法有挺大的区别。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现微信小程序中的语音转文字功能,可以按照以下步骤进行设置: 1. 首先,需要在小程序的json配置文件中添加record权限,用于语音输入: ``` "permission": { "record": { "desc": "用于语音输入" } } ``` 2. 然后,在小程序的wxml文件中添加录音组件,用于录制语音: ``` <recorder id="recorder" duration="60000" event-bindend="onRecordEnd" event-binderror="onRecordError"></recorder> ``` 3. 接下来,在小程序的js文件中,使用微信的语音识别API实现语音转文字的功能。你可以使用微信提供的插件“微信同声传译”来帮助实现。以下是一个示例代码: ``` const plugin = requirePlugin("WechatSI") const manager = plugin.getRecordRecognitionManager() // 监听录音结束事件 manager.onStop = function(res) { const text = res.result // 这里可以对转换后的文字进行处理或展示 } // 监听录音错误事件 manager.onError = function(res) { // 处理录音错误 } // 开始录音 manager.start({ lang: "zh_CN" // 设置语言为中文 }) ``` 通过以上步骤,你可以在微信小程序中实现语音转文字的功能。请注意,为了使用语音识别API,你需要在小程序管理后台申请并获取相应的API权限。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [微信小程序实现文字转语音](https://download.csdn.net/download/weixin_38616139/14878012)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [微信小程序实现语音识别转文字功能及遇到的坑](https://download.csdn.net/download/weixin_38665804/13616802)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [微信小程序语音转文字demo](https://blog.csdn.net/takeingloop/article/details/130810514)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值