Backbone.js系列教程八:Backbone.History

來源:互聯網
上載者:User

Backbone.Router的功能是管理路由。Backbone.history是路由的一部分,負責監聽和響應URL變化,包含瀏覽器曆史的更新。Backbone.history()建構函式由Backbone庫本身執行個體化,History()的一個執行個體是引用Backbone.history。這個Backbone.history對象有一個命名為start()的方法。調用這個方法通告Backbone開始監聽路由並管理瀏覽器曆史。該方法有一個選項對象提供下面的選項和值。

 
  1. Backbone.history.start({
  2.  
  3. /*Boolean,預設為假,true的意思是使用pushState如果可用,如果需要則退回雜湊路徑*/
  4. pushState:true,
  5.  
  6. /*Boolean,預設為真, 值為false的意思是假如pushState為真,則意味著瀏覽器不支援pushState,然後
  7. 進行基於URL路徑的傳統瀏覽器重載。如果pushState為假,同時hashChange為假,
  8. 那麼url的改變,然後進行基於URL路徑的傳統瀏覽器重載。*/
  9. hashChange:false,
  10.  
  11. /*字串預設為 '',backbone假定你的服務是從根路徑開始 (也就是 /)。
  12. 一個非''的值是字串路徑,你的應用程式服務就從這個字串路徑開始,並且Backbone目錄指向參照根目錄。*/
  13. root:'',
  14.  
  15. /*Boolean,預設為假,值為真則意味著不運行預設路由(也就是'')。*/
  16. silent:true
  17.  
  18. });

你或許還從來沒有建立過一個History()執行個體,但請注意,你將經常需要調用 Backbone.history.start(),以便開始監聽hashchange事件和調用回呼函數。

提示:

  1. 由於讓雜湊路徑在IE中工作是依賴內嵌架構的,所以最好是在DOM準備好之後再調用start()。
  2. 當第一次調用start()時,將運行初始化路由。當.start()被調用時的初始化路由就是目前的url,它輪流調用關聯了空白字串屬性名稱的路由。
  3. 在調用start().之前,你不需要定義所有的路由。假如你不使用初始化路由,在Backbone.Router()執行個體上,你可以在調用start()方法之後,通過調用route()方法定義其他路由。
  4. 路由不是從一個Backbone.router()執行個體開始,而是從Backbone.history()執行個體開始的。請記住,路由對象能夠定義 路由,以及提供一個navigate()方法。但是為了讓路由開始載入每個web頁面到瀏覽器,你需要調用 Backbone.history.start()


相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。