- 当前 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 }) }}) |

navigator是一个跳转组件,参数用?拼接在路径后面。如果想要获取这个参数值的话,到你跳转的页面onload函数里面,console.log(options)就可以拿到了
这个我知道,现在的问题是通过onLoad 或者 onShow 对值进行修改之后,navigator那边的值不会变,但是页面其他值都是可以正常取到的,你看我上面那个截图
你的意思是从A页面跳到B页面。然后把A传过来的值在B页面改掉,还想让A页面的值变是吗?
不是,就是在当前页面,当值发生改变的时候navigator里边的值不会跟着变,但是当前页面的其他地方的值都变了,就是navigator URL中的变量值一直不变,看我的截图,对照上面的代码,下面的wxml你就知道问题了。
有代码片段没?发一下,demo也行
上面我已经贴了代码出来了,你可以试下,运行出来 navigator 中的 data-id="
{{current_circle.circle_id}}"能取到23就正常,如果是undifined就不正常没复现很正常
你也可以用bindtap方式来跳转,不一定非得用navigator
通过 onLoad 或 onShow 修改成其他的值就不行
current_circle.circle_id = 23this.setData({current_circle: current_circle})