收藏
回答

navigator中无法获取变量值

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug navigator 工具 7.0.4 2.6.6

- 当前 Bug 的表现(可附上截图)

navigator中无法获取变量值,如图:



- 预期表现


- 复现路径


- 提供一个最简复现 Demo

WXML:

<view class='topic-title'>
 
<text>#话题讨论{{current_circle.circle_id}}</text>
 
<navigator data-id="{{current_circle.circle_id}}" url='/pages/topic/index/index?circle_id={{current_circle.circle_id}}' hover-class="none">
 
<text>加入讨论{{current_circle.circle_id}}</text>
 
<image src='/resources/images/more@3x.png' mode='aspectFill'></image>
 
</navigator>
 
</view>


JS:

Page({
    data: {
        current_circle: {}
    },
 
    onLoad: function(){
        var that = this
        var current_circle = that.data.current_circle
        current_circle.circle_id = 27
 
        that.setData({
            current_circle: current_circle
        })
    }
})


最后一次编辑于  2019-06-12
回答关注问题邀请回答
收藏

2 个回答

  • 默认²⁰²⁰
    默认²⁰²⁰
    2019-06-12

    navigator是一个跳转组件,参数用?拼接在路径后面。如果想要获取这个参数值的话,到你跳转的页面onload函数里面,console.log(options)就可以拿到了

    2019-06-12
    赞同
    回复 10
    • arreow
      arreow
      2019-06-12

      这个我知道,现在的问题是通过onLoad 或者 onShow 对值进行修改之后,navigator那边的值不会变,但是页面其他值都是可以正常取到的,你看我上面那个截图

      2019-06-12
      回复
    • 默认²⁰²⁰
      默认²⁰²⁰
      2019-06-12回复arreow

      你的意思是从A页面跳到B页面。然后把A传过来的值在B页面改掉,还想让A页面的值变是吗?

      2019-06-12
      回复
    • arreow
      arreow
      2019-06-12回复默认²⁰²⁰

      不是,就是在当前页面,当值发生改变的时候navigator里边的值不会跟着变,但是当前页面的其他地方的值都变了,就是navigator  URL中的变量值一直不变,看我的截图,对照上面的代码,下面的wxml你就知道问题了。

      2019-06-12
      回复
    • 默认²⁰²⁰
      默认²⁰²⁰
      2019-06-12回复arreow

      有代码片段没?发一下,demo也行

      2019-06-12
      回复
    • arreow
      arreow
      2019-06-12回复默认²⁰²⁰

      上面我已经贴了代码出来了,你可以试下,运行出来 navigator 中的 data-id="{{current_circle.circle_id}}"能取到23就正常,如果是undifined就不正常

      2019-06-12
      回复
    查看更多(5)
  • 铭锋科技
    铭锋科技
    2019-06-12



    没复现很正常

    你也可以用bindtap方式来跳转,不一定非得用navigator

    2019-06-12
    赞同
    回复 1
    • arreow
      arreow
      2019-06-12

      通过 onLoad 或 onShow 修改成其他的值就不行

      current_circle.circle_id = 23
       
      this.setData({
       
          current_circle: current_circle
       
      })


      2019-06-12
      回复
登录 后发表内容