1.0.0-alpha.1 • Published 4 days ago

@viewfly/router v1.0.0-alpha.1

Weekly downloads
-
License
MIT
Repository
github
Last release
4 days ago

Viewfly

Viewfly 是一个简单、数据驱动的前端框架。此项目为 Viewfly 的路由库,可让 Viewfly 支持浏览器路由。

安装

npm install @viewfly/router

使用示例

import { createApp } from '@viewfly/platform-browser'
import { RouterModule } from '@viewfly/router'

function ListTab1() {
  return () => {
    return (
      <div>listTab1</div>
    )
  }
}

function ListTab2() {
  return () => {
    return (
      <div>listTab2</div>
    )
  }
}

function ListTab3() {
  return () => {
    return (
      <div>listTab3</div>
    )
  }
}

function List() {
  return () => {
    return (
      <div>
        <h3>list</h3>
        <div>
          <Link active="active" to='./tab1'>tab1</Link>
          <Link active="active" to='./tab2'>tab2</Link>
          <Link active="active" to='./tab3'>tab3</Link>
        </div>
        <div>
          <RouterOutlet config={[
            {
              name: 'tab1',
              component: ListTab1
            },
            {
              name: 'tab2',
              component: ListTab2
            },
            {
              name: 'tab3',
              component: ListTab3
            }
          ]}>没找到 Tab</RouterOutlet>
        </div>
      </div>
    )
  }
}

function Detail() {
  return () => {
    return (
      <div>detail</div>
    )
  }
}

function Home() {
  const router = inject(Router)
  return () => {
    return (
      <div>
        <div>home</div>
        <button type="button" onClick={() => {
          router.navigateTo('../list')
        }
        }>跳转到列表
        </button>
      </div>
    )
  }
}

function App() {
  return () => {
    return (
      <div>
        <div>
          <Link active="active" exact to="/">Home</Link>
          <Link active="active" to="/list" queryParams={{ a: 'xx' }}>List</Link>
          <Link active="active" to="/detail">Detail</Link>
        </div>
        <div>
          <RouterOutlet config={[
            {
              name: 'home',
              component: Home
            },
            {
              name: 'list',
              asyncComponent: () => Promise.resolve().then(() => List)
            },
            {
              name: 'detail',
              component: Detail
            }
          ]}>
            未匹配到任何路由
          </RouterOutlet>
        </div>
      </div>
    )
  }
}

createApp(<App/>)use(new RouterModule()).mount(document.getElementById('app')!)

完整文档请参考官方网站:viewfly.org

1.0.0-alpha.1

4 days ago

1.0.0-alpha.0

5 days ago

0.6.3

11 days ago

0.6.2

12 days ago

0.6.1

15 days ago

0.6.0

4 months ago

0.5.4

5 months ago

0.5.3

5 months ago

0.5.1

5 months ago

0.5.0

6 months ago

0.4.1

6 months ago

0.4.0

7 months ago

0.3.3

8 months ago

0.3.2

8 months ago

0.3.1

8 months ago

0.3.0

8 months ago

0.2.5

8 months ago

0.2.4

9 months ago

0.2.3

9 months ago

0.2.2

9 months ago

0.2.1

9 months ago

0.2.0

9 months ago

0.1.1

9 months ago

0.1.0

9 months ago

0.0.31

9 months ago

0.0.30

9 months ago

0.0.29

9 months ago

0.0.28

9 months ago

0.0.27

10 months ago

0.0.26

10 months ago

0.0.25

10 months ago

0.0.24

10 months ago

0.0.23

10 months ago

0.0.22

10 months ago

0.0.21

10 months ago

0.0.20

10 months ago

0.0.19

10 months ago

0.0.18

10 months ago

0.0.17

10 months ago

0.0.16

10 months ago

0.0.15

10 months ago

0.0.14

10 months ago

0.0.13

10 months ago

0.0.12

10 months ago

0.0.11

10 months ago

0.0.10

10 months ago

0.0.9

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago

0.0.1-alpha.19

10 months ago

0.0.1-alpha.18

10 months ago

0.0.1-alpha.17

10 months ago

0.0.1-alpha.16

10 months ago

0.0.1-alpha.15

10 months ago

0.0.1-alpha.14

11 months ago

0.0.1-alpha.13

11 months ago