ngRoute+ngAnimate與JQM中的頁面跳轉的區別

1.ngRoute+ngAnimate與jQM中的頁面跳轉有何異同?html

  相同點:異步

      (1)完整的HTML只須要一個函數

(2)使用異步AJAX請求獲取下一個頁面動畫

(3)能夠實現轉場動畫spa

  不一樣點:     htm

(1)ngRoute須要配置路由字典;jQM沒有,更加靈活對象

(2)ngRoute訪問路由地址的格式——特殊格式的hash事件

http://xxx/index.html#/mainci

       jQM訪問頁面地址——普通的URL資源

http://xxx/tpl/main.html

(3)ngRoute訪問的路由頁面可使用F5刷新;jQM跳轉的頁面不能按F5刷新

(4)ngRoute-index.html只能聲明一個ngView容器;jQM中index.html中能夠聲明多個page

(5)ngRoute:模板頁面中的全部內容都會被掛到ngView;jQM模板頁面中只有第一個page會被掛載到當前DOM樹。

(6)ngRoute經過路由參數在兩個頁面間傳遞數據

http://.../index.html#/detail/101

  jQM中經過請求字符串H5提供的本地存儲在兩個頁面間傳遞數據

http://.../tpl/detail.html?dno=102

 

 

協議名://主機名:端口/資源路徑;查詢參數?請求字符串#哈希地址

window.location.protocol

window.location.hostname

window.location.port

window.location.path

window.location.query

window.location.hash

 

 

 

2.jQM整合AngularJS最大的問題:

  (1)如何處理新掛載DOM節點(即新Page)——從新編譯新Page節點

  (2)如何在兩個頁面間傳遞數據

 

 

 

  location.href: http://127.0.0.1/detail.html?did=2&pno=3&uname=tom&loc=bj

  location.search:  ?did=2&pno=3&uname=tom&loc=bj

  result:   { did:'2',  pno:'3',  uname: 'tom',  loc: 'bj'}

 

 

 

 

module:controller、directive、filter、service

 

3.AngularJS模塊中能夠出現的組件——Service

  Service組件: 是Angular中的一個函數/對象,能夠在多個Controller調用;但又不須要在View中進行綁定。如須要一個解析URL不一樣部分的函數,能夠在多個Controller中使用。

 

 

 

jQM頁面切換時產生的事件的發生順序:

pageboforeload -> pageload -> pagebeforecreate -> pagecreate

-> pageinit -> pagebeforeshow ->pageshow -> pagechange

從pagebeforeshow開始,location.href能夠讀取第二個頁面的URL

相關文章
相關標籤/搜索