2010-12-20 23 views

回答

9

按照documentation for Sammy routes

路徑可以被定義爲字符串或 正則表達式。

因此,它應該有可能創造這樣的路線,在你的路由的結束,這是一個包羅萬象的:

get(/.*/, function() { 
    ... 
}); 
+1

小點 - 注意缺乏引號,這是一個字面正則表達式。 '/.*/'與/.*/ – 2012-11-06 23:26:41

+0

完全不同。這種方法存在的一個問題是,您的路線甚至會抓住從您的頁面移開的鏈接。你可能不希望這樣。 – jpbochi 2012-11-16 00:19:54

+0

在使用單個頁面應用程序進行測試時,此功能在導航到其他頁面時運行並沒有觸發。 – 2014-06-26 21:01:30

23

應覆蓋notFound功能。

像這樣:

var app = $.sammy('#app', function() { 
    this.notFound = function(){ 
    // do something 
    } 
}); 

這是recommended由薩米的作者。

+1

這應該是被接受的答案。 – Brandon 2013-11-06 17:17:27

+0

這適用於404 Not Found事件的實現,但作爲一個catch-all路由,它不太實際,因爲this應該是Application,而不是EventContext。所以不會有像'path'和'params'這樣的屬性。 – 2014-06-26 21:03:41