@danielkalen/simplybind
Version:
Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.
51 lines (43 loc) • 1.39 kB
HTML
<html>
<head>
<meta charset="utf-8">
<title>Bind Speed - SimplyBind</title>
<script src="../lib/_helpers.js"></script>
<script src="../lib/angular.min.js"></script>
<script type="text/javascript">
var objectA = {'propA':'123', 'propB':'123'},
altValue = true;
app = angular.module('Input', []);
angController = app.controller('InputController', function($scope){
$scope.objectA = objectA;
window.scope = $scope;
});
</script>
</head>
<body ng-app="Input">
<div ng-controller="InputController">
<input type="text" id="input" ng-model="objectA.propA">
</div>
<button onclick="executeTest()">Run</button>
<div id="result"></div>
<script type="text/javascript">
function alternatingValue(){
var returnValue = altValue ? 'firstChange':'secondChange';
altValue = !altValue;
return returnValue;
}
function testFunc(){
scope.$apply(function(){objectA.propA = alternatingValue()})
};
function executeTest(){
// var avg = averageTime(testFunc);
// // var avg = oneTime(testFunc);
// document.getElementById('result').innerHTML = "Total: "+(avg*10000)+"ms <br />Average: "+avg+"ms";
averageTimeCareful(testFunc).then(function(avg){
document.getElementById('result').innerHTML = "Total: "+(avg*10000)+"ms <br />Average: "+avg+"ms";
});
}
</script>
</body>
</html>