codecamp

Taro 路由功能

路由 API 说明

Taro 中,路由功能是默认自带的,不需要开发者进行额外的路由配置。

我们只需要在入口文件的 config 配置中指定好 pages,然后就可以在代码中通过 Taro 提供的 API 来跳转到目的页面,例如:

  1. // 跳转到目的页面,打开新页面
  2. Taro.navigateTo({
  3. url: '/pages/page/path/name'
  4. })
  5. // 跳转到目的页面,在当前页面打开
  6. Taro.redirectTo({
  7. url: '/pages/page/path/name'
  8. })

路由传参

我们可以通过在所有跳转的 url 后面添加查询字符串参数进行跳转传参,例如

  1. // 传入参数 id=2&type=test
  2. Taro.navigateTo({
  3. url: '/pages/page/path/name?id=2&type=test'
  4. })

这样的话,在跳转成功的目标页的生命周期方法里就能通过 getCurrentInstance().router.params 获取到传入的参数,例如上述跳转,在目标页的 componentWillMount(或 Vue 的 created) 生命周期里获取入参:

  1. import { getCurrentInstance } from '@tarojs/taro'
  2. class C extends Taro.Component {
  3. onReady () {
  4. console.log(getCurrentInstance().router.params) // 输出 { id: 2, type: 'test' }
  5. }
  6. }


Taro 项目配置
Taro 设计稿及尺寸单位
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }