如何使用ui-router

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jnshu_it/article/details/84972644

这里是修真院前端小课堂,每篇分享文从

【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】

八个方面深度解析前端知识/技能,本篇分享的是:

【如何使用ui-router 】

【修真院web(职业)小课堂】如何使用ui-router

                               

开场语:

                               

大家好,我是IT修真院北京分院第36期的学员张新,一枚正直纯洁善良的web程序员,今天给大家分享一下,修真院官网js(职业)任务8,深度思考中的知识点——如何使用ui-router

                               

(1)背景介绍:

                               

Angular.js是一个用来构建“富客户端”的神奇JavaScript框架。但是事实却是许多开发者却不使用其内置的路由模块。反而使用AngularUI项目的
UI-Router模块来代替之。

                               

(2)知识剖析:

                               

第一行,声明AngularJS模块,并把ui-router传入AngularJS主模块,所有的结合起来我们就得到了Angular模块。
与集成的ngRoute服务不同的是,UI-Router可以将视图嵌套,因为它基于的是操作状态而仅非URL。与传统做法使用ng-view不同的是,在ngRoute里需要使用ui-view服务。当在ui-router中处理路由和状态时,开发者的重心是当前的状态是什么以及在哪一个页面里。
和ngRoute一样,为特定状态指定的模板将会放在ui-view元素中。在这些模板中也可以包含自己的ui-view,这就是在同一个路由下实现嵌套视图的方法。要定义一个路由,与传统的方法相同:使用.config方式,但使用的不是$routeProvider而是$stateProvider。

                               

(3)常见问题:

                       

如何激活状态?

       

                               

(4)解决方案:

                               

有三种方式来激活特定的状态:
使用ui-sref绑定的连接
直接导航到与状态关联的url
使用$state.go()方法

                               

(5)编码实战:

                               

.([]).config((){
        .()
            .().({
            urltemplateUrl}).({
            urltemplateUrl}).({
            urltemplateUrl() {
                .name }
        }).({
            urltemplateUrlcontroller}).({
            urltemplateUrl() {
                .books []}
        }).()}
)

                               

(6)拓展思考:

                               

如何进行嵌套路由?

                               

(7)参考文献:

                               

AngularJS ui-router (嵌套路由)
ui-router--登录页通过路由跳转到内页的demo

                               

(8)更多讨论:

                               

Q1:提问人:

为什么绑定标签src属性不解析ui-route嵌套路由?

  A1:回答人(可以是分享人,也可以是其他学员):

angular.js中出于安全考虑,将带有http://的网络地址 当做一个不安全的地址,所以需要对这个地址进行处理才能使用

  Q2:提问人:

为什么总是说模块未注入?

  A2:回答人(可以是分享人,也可以是其他学员):

嵌套路由首先得引用ui-route.min.js文件.

  Q3:提问人:

为什么使用ui-router而不是用ng-router

  A3:回答人(可以是分享人,也可以是其他学员):

ui-router可以实现嵌套的结构,简单来说就是父子路由问题,ng-router无法实现。

                               

(9)鸣谢:

                               

感谢师兄,此教程是在他们之前技术分享的基础上完善而成。

                               

(10)结束语:

                               

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

PPT链接 视频链接

更多内容,可以加入IT交流群565734203与大家一起讨论交流

这里是技能树·IT修真院:https://www.jnshu.com,初学者转行到互联网的聚集地

猜你喜欢

转载自blog.csdn.net/jnshu_it/article/details/84972644