uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据
<p>h5端的uni-app项目</p><p>需求:uni-app h5端跳转到底部导航栏的时候使用方法uni.switchTab跳转刷新页面更新数据</p>
<p>百度的方法如下:</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_wrapper_has cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="代码段" data-cke-widget-id="1">
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">uni.switchTab({
url: </span>'/pages/index/main'<span style="color: rgba(0, 0, 0, 1)">,
success: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> (e) {
</span><span style="color: rgba(0, 0, 255, 1)">var</span> page =<span style="color: rgba(0, 0, 0, 1)"> getCurrentPages().pop();
console.log(</span>'page'<span style="color: rgba(0, 0, 0, 1)">,page)
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (page == undefined || page == <span style="color: rgba(0, 0, 255, 1)">null</span>) <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)">;
page.onLoad();
}
})</span></pre>
</div>
</div>
<p>但是在我这运行的时候就会报错,说t.onLoad is not a function</p>
<p>在我输出后判断出来page获取到的节点错误了</p>
<p>getCurrentPages()获取到的是两个节点,第一个节点才是真正的page节点,而page获取到的节点是第二个的节点</p>
<p>粗暴点的办法是:</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_wrapper_has cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="代码段" data-cke-widget-id="4">
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 255, 1)">var</span> page = getCurrentPages()</pre>
</div>
</div>
<p>温柔点的就是:</p>
<div class="cnblogs_code">
<pre>let le =<span style="color: rgba(0, 0, 0, 1)"> getCurrentPages()
le.pop()
</span><span style="color: rgba(0, 0, 255, 1)">var</span> page = le.pop()</pre>
</div>
<p>此处不懂得可以去搜pop()的用法</p>
<p> </p>
<p>然后继续是page.onLoad(),我发现是不能获取到的,所以我改为page.ceshi(),在ceshi()方法里编写了刷新数据的方法,因此此问题得以解决。</p>
<p></p>
<p></p>
<p>最后的代码如下:</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_wrapper_has cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="代码段" data-cke-widget-id="2">
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">uni.switchTab({
url: </span>'/pages/tabBar/order/order'<span style="color: rgba(0, 0, 0, 1)">,
success: </span><span style="color: rgba(0, 0, 255, 1)">function</span><span style="color: rgba(0, 0, 0, 1)"> (e) {
</span><span style="color: rgba(0, 0, 255, 1)">var</span> page = getCurrentPages()
</span><span style="color: rgba(0, 0, 255, 1)">if</span> (page == undefined || page == <span style="color: rgba(0, 0, 255, 1)">null</span>) <span style="color: rgba(0, 0, 255, 1)">return</span><span style="color: rgba(0, 0, 0, 1)">;
page.ceshi();
}
});</span></pre>
</div>
<span class="cke_reset cke_widget_drag_handler_container"><img class="cke_reset cke_widget_drag_handler" title="点击并拖拽以移动" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" alt="" width="15" height="15" data-cke-widget-drag-handler="1"></span></div>
</div>
<div id="MySignature" role="contentinfo">
大道至简,知易行难。从今天开始改变,这是对平庸生活最好的回击。<br><br>
来源:https://www.cnblogs.com/miluluyo/p/11202838.html
頁:
[1]