Skip to content

Commit 02cb9e1

Browse files
committed
Working service and array template
1 parent 46fe84f commit 02cb9e1

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

index.html

+22-5
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,17 @@
1818
${ fullname } is ${ age } years old
1919
<button data-bind='click: makeOlder'>Make older</button>
2020
</script>
21+
<script id='feedTemplate' type='text/html'>
22+
<p>${ name } (${ id }) : ${ phone }</p>
23+
</script>
24+
2125
<span data-bind="text: formatedTime"></span>
2226

27+
<div data-bind='template: { name: "feedTemplate", foreach: viewModel.feed }'>
28+
</div>
29+
30+
<span data-bind="text: feedValue"></span>
31+
2332
<script>
2433
function displayTime(seconds) {
2534
return Math.floor( seconds / 60) + ":" + ((seconds % 60).toFixed(0) < 10 ? '0' : '') + (seconds % 60).toFixed(0)
@@ -29,26 +38,34 @@
2938
firstname: ko.observable("Kent"),
3039
lastname: ko.observable("Jordan"),
3140
age: ko.observable(18),
32-
refresh: ko.observable(90),
41+
refresh: ko.observable(10),
3342
description: ko.observable("Test"),
43+
feed: ko.observableArray([]),
3444
makeOlder: function() {
3545
this.age(this.age() + 1);
36-
},
46+
}
3747
};
3848
viewModel.fullname = ko.dependentObservable(function() {
3949
return this.firstname()+" "+this.lastname();
4050
}, viewModel);
4151
viewModel.formatedTime = ko.dependentObservable(function() {
4252
return displayTime(this.refresh());
4353
}, viewModel);
54+
viewModel.feedValue = ko.dependentObservable(function() {
55+
return this.feed().length;
56+
}, viewModel);
57+
4458

4559
ko.applyBindings(viewModel);
4660

4761
setInterval(function() {
4862
viewModel.refresh(viewModel.refresh() - 1);
49-
if(viewModel.refresh()==-1)
50-
/* Poll and update from a JSON webservice here? */
51-
viewModel.refresh(90);
63+
if(viewModel.refresh()==-1) {
64+
jQuery.get('sample_data.json', function(resp) {
65+
viewModel.feed(jQuery.parseJSON(resp));
66+
});
67+
viewModel.refresh(10);
68+
}
5269
}, 1000);
5370
</script>
5471

sample_data.json

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[{"id":1,"name":"JeteKun Do","phone":"555-1212"},
2+
{"id":2,"name":"TaeKwon Do","phone":"555-1234"},
3+
{"id":3,"name":"Ken Do","phone":"555-1234"},
4+
{"id":4,"name":"Fran Jones","phone":"555-1234"}]

0 commit comments

Comments
 (0)