Home

Awesome

tina-router

An elegant enhanced router for Tina.js based Wechat-Mini-Program

npm license PRs Welcome

快速上手

我们假设你已经在使用 Tinamina-webpack 开发小程序项目。

安装

npm i --save @tinajs/tina-router
/**
 * <script> in /app.mina
 */
import Tina from '@tinajs/tina'
import router from '@tinajs/tina-router'

Tina.use(router)

App(......)

使用

/**
 * <script> in /pages/demo.mina
 */
import { Page } from '@tinajs/tina'
import { api } from '../api'

Page.define({
  onLoad () {
    api.fetchUser({ id: this.$route.query.id }).then((data) => this.setData(data))
  },
  methods: {
    toLogin () {
      this.$router.navigate(`/pages/login?from=${this.$route.fullPath}`)
    },
  },
})

常见问题

无法正确地自动获取底部 tab 列表

若 tina-router 无法正确地自动获取底部 tab 列表,请尝试将微信开发者工具的 "ES6 转 ES5" 功能关闭:

若仍不生效,可以在注册插件时手动设置:

/**
 * <script> in /app.mina
 */
import Tina from '@tinajs/tina'
import router from '@tinajs/tina-router'

Tina.use(router, {
  tabs: [
    'page/home',
    'page/mine',
  ],
})

App(......)

API

Plugin.install

createRouterMixin

对页面 / 组件的注入

$route

path
query
fullPath

$router

Router 实例

navigate(location, query)
redirect(location, query)
switchTab(location)
back()
isTab(location)

License

Apache-2.0 @ yelo