-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.js
69 lines (59 loc) · 1.33 KB
/
test.js
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
64
65
66
67
68
69
import { ready, get, create } from 'uc-dom';
import app from 'uc-app';
import Views from './index';
// define views classes
const Post = function() {
this.el = create('div.view.view-post', '<a soft href="/">Index</a>');
}
Post.prototype = {
name: 'post',
state: function(state, cb) {
console.log('post state', state);
cb();
}
}
const Page = function() {
this.el = create('div.view.view-page', `
<a soft href="/">Index</a><br>
<a soft href="/page">Page</a><br>
<a soft href="/post/test-post">Post</a><br>
`);
}
Page.prototype = {
name: 'Page',
state: function(state, cb) {
console.log('Page state', state);
cb();
},
willOpen: function(cb) {
console.log('page will open');
cb();
},
didOpen: function() {
console.log('page did open');
},
willClose: function(cb) {
console.log('page will close');
cb();
},
didClose: function() {
console.log('page did close');
}
}
// run the app
ready(() => {
const elDisplay = get('#display');
app.init({
container: 'body',
logName: 'mm',
logLevel: 7
}, () => app.start());
const views = new Views({
routes: [
[ 'post', '/post(/:slug)', Post ],
[ 'page', '/(:page)', Page ]
],
onChange: (err, view) => console.log(err, view)
}).appendTo(elDisplay);
setTimeout(() => views.remove(), 5000);
});