<html ng-app="app"
ng-cloak
ng-controller="MainCtrl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- <base href="/"> -->
<title>Test</title>
</head>
<body>
<div class="view" ng-view></div>
<script src="https://code.angularjs.org/1.6.1/angular.min.js"></script>
<script src="https://code.angularjs.org/1.6.1/angular-route.min.js"></script>
<script src="https://code.angularjs.org/1.6.1/angular-animate.min.js"></script>
</body>
a{
display: block;
color:blue;
text-decoration:underline;
font-size:20px;
}
var app = angular.module('app', ['ngAnimate', 'ngRoute']);
app.animation('.view', function () {
return {
enter : function (element, done) {
alert('enter');
done();
},
leave : function (element, done) {
alert('leave');
done();
}
}
});
//Config
app.config(function ($routeProvider, $locationProvider, $httpProvider){
/*
* Bring back the commented out $routeProvider code, and comment out
* the current one to see how resolve changes the way animation runs
*
* P.S /runner is the default url in jsbin
*/
// $routeProvider.when('/runner',{
// template : function () {
// return "<div>Now animation enter will fire on load<a href='/runner/testlink'>test link</a></div>";
// },
// resolve: {
// message: function ($timeout, $q) {
// return $q(function(resolve){
// $timeout(function () {
// resolve('message');
// },10);
// });
// }
// }
// });
// $routeProvider.when('/runner/testlink',{
// template : function () {
// return "<div>Inside page <a href = '/runner'>Back to homepage</a></div>";
// },
// resolve: {
// message: function ($timeout, $q) {
// return $q(function(resolve){
// $timeout(function () {
// resolve('message');
// },10);
// });
// }
// }
// });
$routeProvider.when('/runner',{
template : function () {
return "<div>Now animation enter will not fire on load<a href='/runner/testlink'>test link</a></div>";
}
});
$routeProvider.when('/runner/testlink',{
template : function () {
return "<div>Inside page <a href = '/runner'>Back to homepage</a></div>";
}
});
$locationProvider.html5Mode({enabled: true, requireBase: false});
});
//Controllers
app.controller('MainCtrl',function ($rootElement,$rootScope, $scope, $window, $location, $http, $route, $timeout, $q, $animate){
});
Output
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |