国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

認識 Backbone(三) : 什么是 Router

ShowerSun / 414人閱讀

摘要:中的充當路由的作用,控制的走向,當在中使用標簽時生效。任一形式匹配的結(jié)果會以參數(shù)的形式傳遞到相關(guān)的函數(shù)中,第一種規(guī)則可能返回一個或多個參數(shù),第二種規(guī)則將整個匹配結(jié)果作為一個參數(shù)返回。

Backbone 中的 Router 充當路由的作用,控制 URL 的走向,當在 URL 中使用 # 標簽時生效。
定義 Router 至少需要一個 Router 和一個函數(shù)來映射特定的 URL,而且我們需要記住,在 Backbone 中,# 標簽后的任意字符都會被 Router 接收并解釋。
下面我們來定義一個 Router


現(xiàn)在,我們就定義好了一個 Router 了,但此時 Router 并未匹配特定的 URL,接下來我們開始詳細講解 Router 是如何工作的。

動態(tài)路由選擇

Backbone 允許你定義帶有特定參數(shù)的 Router。例如,你可能希望通過一個特定的 id 接收一個 post,比如這樣一個 URL:"http://example.com/#/posts/12",一旦這個 Router 被激活,你就可以取得一個 id 為12的 post。接下來,我們就來定義這個 Router:


匹配規(guī)則

Backbone 使用兩種形式的變量來設置 Router 的匹配規(guī)則。第一種是 :,它可以匹配 URL 中斜杠之間的任意參數(shù),另一種是 *,它用來匹配斜杠后面的所有部分。注意,由于第二種形式的模糊性大于第一種,所以它的匹配優(yōu)先級最低。
任一形式匹配的結(jié)果會以參數(shù)的形式傳遞到相關(guān)的函數(shù)中,第一種規(guī)則可能返回一個或多個參數(shù),第二種規(guī)則將整個匹配結(jié)果作為一個參數(shù)返回。
接下來,我們用實例來說明:

routes:{

    "posts/:id": "getPost",
    // Example

    "download/*path": "downloadFile",
    // Download

    ":route/:action": "loadView",
    // Load Route/Action View

},

app_router.on("route:getPost", function( id ){ 
    alert(id); // 匹配后,傳遞過來的參數(shù)為 12
});
app_router.on("route:downloadFile", function( path ){ 
    alert(path); // 匹配后,整個匹配結(jié)果作為一個參數(shù)返回,路徑為 user/images/hey.gif 
});
app_router.on("route:loadView", function( route, action ){ 
    alert(route + "_" + action); // 匹配后,傳遞過來兩個參數(shù),此時會彈出 dashboard_graph 
});
參考

http://backbonetutorials.com/what-is-a-router/#/posts/120

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/92317.html

相關(guān)文章

  • Backbone源碼解讀(

    摘要:事件關(guān)于路由觸發(fā)事件是通過兩個函數(shù)來完成的,它們分別是和前者會檢測路由是否發(fā)生了改變,如果改變了就會觸發(fā)函數(shù)并調(diào)用函數(shù),而后者會通過路由片段來找到相關(guān)的事件函數(shù)來觸發(fā)。 注意:強烈建議一邊閱讀源碼一邊閱讀本文。 終于到了backbone源碼解讀的最后一篇,這一篇和前面幾篇時間上有一定的間隔(因為要回學校有一堆亂七八糟的事...)。在這一篇里面會講解Bakcbone的sync & rou...

    feng409 評論0 收藏0
  • 基于 Backbone + node 的個人簡歷生成器(個人學習總結(jié))

    摘要:應用的功能這個應用是一個個人簡歷生成器。比較好的教程有這一個。這樣的命名污染問題自然顯而易見。而且發(fā)出多次請求也會影響性能。明顯不利于維護。然而我希望能夠不發(fā)生變化,因為是在文件的前提下的標簽頁,不能換一個標簽就重建一個。 為什么學習backbone?這是個好問題。在這個前端框架爆炸的年代,比起backbone,對開發(fā)來說有更多更好的選擇,react,vue,angular等等。但這些...

    lansheng228 評論0 收藏0
  • Backbone 源碼解讀(一)

    1. 開場 1.1 MVC? MVC是一種GUI軟件的一種架構(gòu)模式。它的目的是將軟件的數(shù)據(jù)層(Model)和視圖(view)分開。Model連接數(shù)據(jù)庫,實現(xiàn)數(shù)據(jù)的交互。用戶不能直接和數(shù)據(jù)打交道,而是需要通過操作視圖,然后通過controller對事件作出響應,最后才得以改變數(shù)據(jù)。最后數(shù)據(jù)改變,通過觀察者模式更新view。(所以在這里需要用到設計模式中的觀察者模式) 1.2 Smalltalk-80...

    Kosmos 評論0 收藏0
  • backbone源碼解讀

    摘要:個人認為,讀懂老牌框架的源代碼比會用流行框架的要有用的多。另外,源代碼中所有的以開頭的方法,可以認為是私有方法,是沒有必要直接使用的,也不建議用戶覆蓋。 寫在前面 backbone是我兩年多前入門前端的時候接觸到的第一個框架,當初被backbone的強大功能所吸引(當然的確比裸寫js要好得多),雖然現(xiàn)在backbone并不算最主流的前端框架了,但是,它里面大量設計模式的靈活運用,以及令...

    Kross 評論0 收藏0
  • backbone源碼解讀

    摘要:個人認為,讀懂老牌框架的源代碼比會用流行框架的要有用的多。另外,源代碼中所有的以開頭的方法,可以認為是私有方法,是沒有必要直接使用的,也不建議用戶覆蓋。 寫在前面 backbone是我兩年多前入門前端的時候接觸到的第一個框架,當初被backbone的強大功能所吸引(當然的確比裸寫js要好得多),雖然現(xiàn)在backbone并不算最主流的前端框架了,但是,它里面大量設計模式的靈活運用,以及令...

    wangxinarhat 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<