首页 前端知识 ui-router,html5移动web开发指南

ui-router,html5移动web开发指南

2024-06-07 23:06:32 前端知识 前端哥 102 115 我要收藏

(1)设置路由

在.config()方法中使用 s t a t e P r o v i d e r (不是 stateProvider(不是 stateProvider(不是routeProvider)来配置应用或者模块的state:

Js代码   收藏代码

  1. $stateProvider.state(‘state名’, {设置信息});

但是默认otherwise需要使用$urlRouterProvider来设置

Js代码   收藏代码

  1. $urlRouterProvider.otherwise(‘/tab/home’);

设置whenPath(可用正则),当匹配是直接跳转到toPath

Js代码   收藏代码

  1. $urlRouterProvider.when(whenPath, toPath);

自定义URL捕获处理,handler方法有一个参数$location返回一个path

Js代码   收藏代码

  1. $urlRouterProvider.rule(handler);

例如:

Js代码   收藏代码

  1. $stateProvider

  2. .state(“emp”,{

  3. url:“/emp”

  4. ,templateUrl:“list.html”

  5. ,controller:“ListCtrl”

  6. })

  7. .state(“emp.detail”,{

  8. url:“/:empID”

  9. ,templateUrl:“emp.html”

  10. ,controller:“EmpCtrl”

  11. });

ngRoute的设置方法:

Js代码   收藏代码

  1. $routeProvider.when(‘url’, {设置信息});

例如:

Js代码   收藏代码

  1. $routeProvider

  2. .when(“/emp”,{

  3. templateUrl:“list.html”

  4. ,controller:“ListCtrl”

  5. })

  6. .when(“/emp/:empID”){

  7. templateUrl:“emp.html”

  8. ,controller:“EmpCtrl”

  9. };

(2)层次化

state可以嵌套,state名必须唯一,通过state名中的点来划分Parent/child层次。

格式为:父View.子View

比如:items.detail是items的子View。

Js代码   收藏代码

  1. $stateProvider

  2. .state(“items”, {

  3. abstract: true,

  4. url: “/items”

  5. templateUrl: “items.html” // 必须包含

  6. })

  7. .state(“items.detail”, {

  8. url: “/detail”, // URL就是"/items/detail"

  9. templateUrl: “items-detail.html”

  10. })

  11. .state(“items.info”, {

  12. url: “/info”, // URL就是"/items/info"

  13. templateUrl: “items-info.html”

  14. });

(3)设置信息

url:默认相对路径(以^开头的是绝对路径)

views:每个子视图可以包含自己的模板、控制器和预载入数据。

abstract:设置为true时,只能被继承不能直接切换到此state

template、templateUrl、templateProvider:HTML字符串或者返回HTML字符串的函数、HTML模板的路径或者返回HTML模板路径的函数

controller、controllerProvider:可以是一个控制器函数或者已经被注册的控制器名称,controllerProvider是一个注入函数返回控制器函数或控制器名称

resolve:在路由到达前预载入一系列依赖或者数据,然后注入到控制器中。

data:数据不会被注入到控制器中,用途是从父状态传递数据到子状态。

onEnter/onExit:进入或者离开当前状态的视图时会调用这两个函数

URL使用举例:

url: ‘/inbox’

url: ‘/inbox/:inboxId’

url: ‘/inbox/{inboxId}’

url: ‘/inbox/{inboxId:[0-9a-fA-F]{6}}’

url: ‘/inbox/{inboxId:.*}’

url: ‘/inbox?sort’

url: ‘/inbox/:inboxId/messages/{sorted}?from&to’

url: ‘/party/:partyID/:partyLocation’

url: ‘/product/info/favorite?pid&jancode&showAddFavorite&fromPg’

(4)指定View名

Html代码   收藏代码

Js代码   收藏代码

  1. .state(“emp.detail”),{

  2. url:“/:empID”

  3. ,views:{

  4. view1:{

  5. templateUrl:“view1.html”

  6. ,controller:“View1Ctrl”

  7. }

  8. ,view2:{

  9. templateUrl:“view1.html”

  10. ,controller:“View1Ctrl”

  11. }

  12. }

  13. }

初始View

Js代码   收藏代码

  1. .state(“emp.detail”),{

  2. url:“/:empID”

  3. ,views:{

  4. “”:{

  5. templateUrl:“emp.html”

  6. ,controller:“EmpCtrl”

  7. }

  8. }

  9. }

view@state

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

更多面试题

**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等

资料获取方式:点击蓝色传送门免费获取

大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

更多面试题

**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等

资料获取方式:点击蓝色传送门免费获取

[外链图片转存中…(img-AlyZNQOu-1712211892855)]

转载请注明出处或者链接地址:https://www.qianduange.cn//article/11326.html
标签
评论
发布的文章

安装Nodejs后,npm无法使用

2024-11-30 11:11:38

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!