亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

AngularJS 路由和模板實例及路由地址簡化方法(必看)

2019-11-20 09:36:44
字體:
來源:轉載
供稿:網友

最近一同事在學習AngularJS,在路由與模板的學習過程中遇到了一些問題,于是今天給她寫了個例子,順便分享出來給那些正在學習AngularJS的小伙伴們。

話說這AngularJs 開發項目非常的爽,其中爽就爽在它的開發模式,使得代碼更加的清晰、更加具有可讀性、更簡潔、更具有維護性。但是在使用AngularJS開發的過程中也有讓我頭疼的地方,那就是目前前端框架更多的還是以Jquery為主,很多插件都是依賴于Jquery的,AngulaJS的插件少之又少(除了AngularUI其他的Angular插件我就不知道了,如果哪位大神指導的話可以跟我分享一下)。為了保證Controller中代碼清晰,不混亂,我們規定在Controller中不允許操作Dom,所以每次需要操作Dom元素的是我們都是指令去完成,因此就存在了,需要將很多Jquery插件轉換成指令去操作,這是一件非常惡心的事情。好像扯遠了,好吧~~

目錄:

1.AngularJs路由介紹

2.AngularJS路由實例

3.AngularJS采用HTML5模式的路由結合WebServer重定向簡化路由地址

1.AngularJS路由介紹

AngularJS路由與后端MVC的路由不一樣。AngularJS的前端路由,需要在模板頁提前對指定的(ng-app),定義路由規則(routeProvider),然后通過不同的URL,告訴(ng-app)加載哪個頁面(HTML),再渲染到(ng-app)視圖(ng-view)中。而MVC路由是通過不同的Url請求,然后根據路由規則請求控制器的Action,并返回View。AngularJS是一個純前端的路由。后面我們會結合配置文件簡化路由地址。

2.AngularJS路由實例

我們新建一個JS文件,此處我命名為app.js,在文件中我們寫入如下代碼:

1 angular.module("app", [ 2 'ngRoute' 3 ]) 4 .config(['$routeProvider', function ($routeProvider) { 5 $routeProvider.when("/list", { 6 template: "這是列表頁" 7 }).when("/detail", { 8 template: "這是詳情頁" 9 })10 .otherwise({11 redirectTo: "/list"12 })13 }])

我們新建一個html文件命名為index.html,代碼及說明如下:

www.49028c.com

1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml" ng-app="app"> 3 <head> 4 <title></title> 5 </head> 6 <body> 7 <header> 8 <h2>這是頭部</h2> 9 </header>10 <content>11 <div ng-view></div>12 </content>13 <footer>14 <h3>這是底部</h3>15 </footer>16 </body>17 </html>18 <script src="/scripts/angular/angular.min.js"></script>19 <script src="/scripts/angular-route/angular-route.min.js"></script>20 <script src="/scripts/app.js"></script>

運行實例,效果如下。

瀏覽器打開輸入地址:http://localhost:2987/index.html#/detail和http://localhost:2987/index.html#/list分別可以看到如下圖所示頁面:

www.49028c.com www.49028c.com

3.AngularJS采用HTML5模式的路由結合WebServer簡化路由地址

上圖中我們可以看到,請求地址很長,對于有強迫癥的我來說,很難接受這種類型的地址,于是我決定作出這樣的改變:

1)AngulaJS開啟HTML5模式路由,去掉#號:

對于ANgulaJS來說,其默認是沒有打開Html5路由模式,我們通過如下做法開啟HTML5路由模式:

1 angular.module("app", [ 2 'ngRoute' 3 ]) 4 .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 5 //開啟html5路由模式 6 $locationProvider.html5Mode(true) 7 $routeProvider.when("/list", { 8 template: "這是列表頁" 9 }).when("/detail", {10 template: "這是詳情頁"11 })12 .otherwise({13 redirectTo: "/404.html"14 })15 }])

 這樣按照上面的請求地址去掉#號后刷新頁面,發現提示404找不到頁面,原因是這樣的地址請求到后臺IIS會找不到對應的文件,因此直接返回404錯誤頁面。因此我們需要在配置文件中添加WebServer配置,重定向文件如下:

1 <system.webServer> 2 <rewrite> 3 <rules> 4 <rule name="name" > 5 <match url="^list|detail*" ignoreCase="true"/> 6 <conditions logicalGrouping="MatchAll"> 7 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/> 8 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> 9 </conditions>10 <action type="Rewrite" url="/index.html"/>11 </rule>12 </rules>13 </rewrite>14 </system.webServer>

如上面代碼顯示,其中<match url="^list|detail*" ignoreCase="true"/> 的意思是,如果請求地址中包含list或detail(根據需求自己書寫正則表達式),那么會被重定向到index.html頁面,這樣在頁面上輸入http://localhost:2987/detail的時候IIS會先返回模板頁(index.html),然后AngulaJS路由才開始執行。

在瀏覽器輸入http://localhost:2987/detail回車,發現并沒有得到我們想要的結果,也就是說,路由沒有匹配上。

網上查了很久,終于找到解決方案,就是在html頁面中添加<base>標簽如下:

1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml" ng-app="app"> 3 <head> 4 <title></title> 5 <base href="/" /> 6 </head> 7 <body> 8 <header> 9 <h2>這是頭部</h2>10 </header>11 <content>12 <div ng-view></div>13 </content>14 <footer>15 <h3>這是底部</h3>16 </footer>17 </body>18 </html>19 <script src="/scripts/angular/angular.min.js"></script>20 <script src="/scripts/angular-route/angular-route.min.js"></script>21 <script src="/scripts/app.js"></script>

這樣,在瀏覽器上輸入:http://localhost:2987/detail回車就會看到我們想要的結果,截圖如下:

www.49028c.com

遺留問題:為什么添加<base href="/" />標簽就能成功了呢?這個問題還要請教一下廣大的博友們。

對于上述有內容,如有哪寫得不對的,盡情吐槽?。?!

以上就是小編為大家帶來的AngularJS 路由和模板實例及路由地址簡化方法(必看)全部內容了,希望大家多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕亚洲专区| 亚洲精品一区av在线播放| 在线播放精品一区二区三区| 成人国产精品日本在线| 亚洲无限乱码一二三四麻| 日韩av综合网| 亚洲精品视频免费| 久久精品国产成人精品| 操91在线视频| 亚洲国产97在线精品一区| 98午夜经典影视| 国产精品视频导航| 午夜精品一区二区三区在线视| 91久久国产婷婷一区二区| 日韩毛片中文字幕| xxx一区二区| 91久久久久久久久久久久久| 成人午夜在线视频一区| 亚洲午夜av电影| 色哟哟网站入口亚洲精品| 日韩中文字幕免费视频| 欧美激情精品久久久久久蜜臀| 日韩精品高清在线| 欧美成人全部免费| 在线观看精品自拍私拍| 亚洲aa在线观看| 亚洲欧美国产va在线影院| 亚洲福利在线视频| 日本久久久久久久久| 久久精品国产91精品亚洲| 精品国产老师黑色丝袜高跟鞋| 国内精品国产三级国产在线专| 国产91精品久久久久久久| 亚洲欧美日韩第一区| 中文字幕欧美日韩va免费视频| 成人免费观看网址| 国产成人综合久久| 青草成人免费视频| 亚洲free性xxxx护士白浆| 日韩av免费在线| 国产手机视频精品| 欧美日韩高清在线观看| 欧美午夜www高清视频| 久久久免费精品视频| 高清一区二区三区四区五区| 午夜伦理精品一区| 性欧美长视频免费观看不卡| 亚洲精品小视频在线观看| 一区二区三区视频免费在线观看| 日韩电影在线观看中文字幕| 最好看的2019年中文视频| 亚洲free嫩bbb| 98精品国产自产在线观看| 亚洲欧美日韩中文视频| 国产精品久久久久久影视| 国产精品精品久久久| 欧美激情一区二区久久久| 91美女福利视频高清| 亚洲成avwww人| 日韩最新在线视频| 亚洲裸体xxxx| 亚洲自拍欧美色图| 亚洲欧美激情视频| 欧美性猛交xxxx富婆弯腰| 一本大道亚洲视频| 日韩电影大全免费观看2023年上| 91在线免费观看网站| 中文字幕日韩专区| 九九久久国产精品| 国产91色在线免费| 热re91久久精品国99热蜜臀| 亚洲成人激情小说| 欧美激情亚洲综合一区| 国产精品91在线观看| 国产欧美日韩综合精品| 国产精品成人一区二区三区吃奶| 欧美在线观看一区二区三区| 丝袜亚洲另类欧美重口| 亚洲国产三级网| 在线观看日韩www视频免费| 91免费国产网站| 欧美激情视频给我| 亚洲欧美在线播放| 日本a级片电影一区二区| 91成品人片a无限观看| 国产精品91久久| 久久久999精品| 国产精品久久99久久| 国产福利视频一区| 在线午夜精品自拍| 麻豆乱码国产一区二区三区| 91亚洲午夜在线| 一区二区日韩精品| 久久综合国产精品台湾中文娱乐网| 欧美日本高清视频| 在线观看亚洲视频| 高清欧美电影在线| 视频一区视频二区国产精品| 欧美激情影音先锋| 91视频国产高清| 中文字幕无线精品亚洲乱码一区| 欧美黄色免费网站| 成人免费视频网址| 98精品在线视频| 色999日韩欧美国产| 国产女人精品视频| 欧美日韩国产一中文字不卡| 欧美黄色片在线观看| 97精品在线观看| 国产日韩欧美电影在线观看| 欧美日韩国产精品专区| 狠狠躁18三区二区一区| 欧美日韩成人免费| 久久99久久亚洲国产| 欧美日韩国产色| 亚洲缚视频在线观看| 欧美另类老肥妇| 久久亚洲精品一区| 欧美老女人xx| 久久偷看各类女兵18女厕嘘嘘| 亚洲人成欧美中文字幕| 4444欧美成人kkkk| 欧美视频精品一区| 国产免费一区二区三区香蕉精| 欧美丝袜一区二区三区| 亚洲天堂成人在线视频| 狠狠操狠狠色综合网| 成人精品视频99在线观看免费| 久久久久久久一| 国产成人在线播放| 久久在精品线影院精品国产| 精品亚洲一区二区三区| 91九色在线视频| 亚洲国产成人一区| 欧美日韩性视频| 国产自产女人91一区在线观看| 国产欧美精品在线播放| 亚洲国产美女精品久久久久∴| 91av视频在线免费观看| 日韩激情在线视频| 免费不卡欧美自拍视频| 欧美裸体视频网站| 久久久久久成人精品| 日本精品久久中文字幕佐佐木| 欧美一区二区三区免费视| 久久精品亚洲一区| 久久精品视频播放| 成人春色激情网| 国产精品视频久| 欧美午夜精品久久久久久浪潮| 97视频在线观看免费高清完整版在线观看| 欧美日韩成人精品| 成人国产在线激情| 久久偷看各类女兵18女厕嘘嘘| 欧美电影在线观看完整版| 欧美贵妇videos办公室| 国模吧一区二区| 欧美成人精品一区| 日韩精品在线播放| 在线观看国产欧美| 成人深夜直播免费观看| 欧美日韩在线视频观看| 亚洲xxx大片| 中文字幕精品久久久久|