1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
var SiteRouter = Router.extend({
el: 'body',
routeByHash: true,
routes: {
'/': 'intro',
'/intro': 'intro',
'/hub': 'hub',
'/story': 'story',
'/archive': 'archive',
'/store': 'collection',
'/store/:code': 'product',
'/account/login': 'login',
'/account/logout': 'logout',
'/account/signup': 'signup',
'/account/profile': 'profile',
'/account/payment': 'payment',
'/account/shipping': 'shipping',
'/faq': 'faq',
'/search': 'search',
'/cart': 'cart',
},
initialize: function(){
var fn
for (var route in this.routes) {
fn = this.routes[route]
if (! this.hasOwnProperty(fn)) {
this[fn] = this.default_view(fn)
}
}
},
go: function(url){
if (app.view && app.view.hide) {
app.view.hide()
}
window.location.href = "#/" + url
this.parseRoute(url)
},
default_view: function(name){
var fn = function(){
console.log(name)
app.view = app[name]
app[name].show()
}.bind(this)
return fn
},
product: function(code){
app.view = app.product
app.product.load(code)
app.product.show()
},
})
|