aboutsummaryrefslogtreecommitdiffstats
path: root/perf
diff options
context:
space:
mode:
authorMisko Hevery2010-12-10 13:55:18 -0800
committerIgor Minar2011-01-07 14:39:46 -0800
commit47c454a315b6c0260c8f65e70ae9b30f924650df (patch)
tree3392daf6242d540a6f3d7bb08ef4914aa46c667e /perf
parent16086aa37c5c0c98f5c4a42d2a15136bb6d18605 (diff)
downloadangular.js-47c454a315b6c0260c8f65e70ae9b30f924650df.tar.bz2
change to keydown from keyup; add delayed $updateView
- There was a perceived lag when typing do to the fact that we were listening on the keyup event instead of keydown. The issue with keydown is that we can not read the value of the input field. To solve this we schedule a defer call and perform the model update then. - To prevent calling $eval on root scope too many times as well as to prevent drowning the browser with too many updates we now call the $eval only after 25ms and any additional requests get ignored. The new update service is called $updateView
Diffstat (limited to 'perf')
-rw-r--r--perf/noangular.html19
1 files changed, 19 insertions, 0 deletions
diff --git a/perf/noangular.html b/perf/noangular.html
new file mode 100644
index 00000000..8e0db311
--- /dev/null
+++ b/perf/noangular.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html xmlns:ng="http://angularjs.org">
+ <head>
+ <script>
+ function el(id) {
+ return document.getElementById(id);
+ }
+ function update() {
+ el("output").innerHTML = el("input").value;
+ }
+ </script>
+ </head>
+ <body>
+ Your name: <input id="input" type="text" value="World"
+ onkeydown="setTimeout(update,0)"/>
+ <hr/>
+ Hello <span id="output">{{yourname}}</span>!
+ </body>
+</html> \ No newline at end of file