Giter Site home page Giter Site logo

saber-router's Introduction

saber-router

Bower version Build Status License EFE Mobile Team

适用于移动端的路由控制

  • 支持hashpopstate与普通的多页面
  • 支持相对路径 ../somewhere/action
  • 支持正则表达式控制路径
  • 支持RESTful
  • hash路由使用~分隔查询条件 #/action~uid=100&name=saber

Installation

通过 edp 引入模块:

edp import saber-router

Usage

var router = require('saber-router');

// 启用hash控制器
router.controller(require('saber-router/controller/hash'));

// 添加路由规则
router.add(
    '/custom/:id', // RESTful风格
    function (path, query, url) {
        console.log(query.id);
    }
);

// 开始路由监听
router.start();

API

Methods

config([options])

全局配置

  • options {Object=} 配置参数
    • path {string=} 初始路径 默认为'/',只对hash控制器生效
    • index {string=} index文件名 默认为''

controller(con)

设置控制控制

  • con {Object} 控制器,有以下控制器供选择

add(path, fn[, thisArg])

添加路由规则

  • path {string|RegExp} 路由路径,如果是空字符串则认为是设置默认路由。在路由处理未找到对应路由规则时,会使用此默认路由进行处理
  • fn {function(string, Object, Object, string, Object)} 路由处理函数(函数参数分别是:path、查询条件、路径参数、完整URL、跳转参数,具体跳转参数请参考redirect(url, query, options)
  • thisArg {Object=} 路径处理函数的this指针

remove(path)

删除路由规则

  • path {string} 需要删除的路由路径

clear()

清除所有路由规则

reset(url[, query[, options]])

重置当前的URL(不产生新的浏览历史记录),只对hashpopstate控制器生效

  • url {string} url
  • query {Object=} 查询条件
  • options {Object=} 重置参数
    • silent {boolean=} 是否静默重置,如果静默重置则不会触发相应的路由规则处理

redirect(url[, query[, options]])

URL跳转

  • url {string} url
  • query {Object=} 查询条件
  • options {options=} 跳转参数
    • force {boolean=} 是否强制跳转(默认情况下相同URL不跳转)
    • silent {boolean=} 是否静默跳转,如果静默跳转则不改变当前的URL

start()

启动路由监听

stop()

停止路由监听

saber-router's People

Contributors

junmer avatar mkwiser avatar treelite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

saber-router's Issues

源码不全?

能否提供简单的demo。还是这库 需要依赖其他库。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.