2010-12-20 89 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