Skip to content

Instantly share code, notes, and snippets.

@superchris
Created May 4, 2015 21:53
Show Gist options
  • Select an option

  • Save superchris/0264a1e1e210e7cbc04d to your computer and use it in GitHub Desktop.

Select an option

Save superchris/0264a1e1e210e7cbc04d to your computer and use it in GitHub Desktop.
JS Bin Student Routing Lab solution // source http://jsbin.com/hirisa
<!DOCTYPE html>
<html ng-app="studentApp">
<head>
<meta name="description" content="Student Routing Lab solution" />
<script src="http://code.jquery.com/jquery.min.js"></script>
<link href="http://getbootstrap.com/2.3.2/assets/css/bootstrap.css" rel="stylesheet" type="text/css" />
<link href="http://getbootstrap.com/2.3.2/assets/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" />
<script src="http://getbootstrap.com/2.3.2/assets/js/bootstrap.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="http://code.angularjs.org/1.3.15/angular-route.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body ng-controller="StudentCtrl as studentList">
<ul>
<li ng-repeat="student in studentList.students"><a href="#/students/{{student.id}}">{{student.name}}</a></li>
</ul>
<ng-view></ng-view>
</body>
<script id="showStudent.html" type="text/ng-template">
<dl>
<dt>{{show.student.name}}</dt>
<dd ng-show="show.student.email"><img ng-src="http://avatars.io/email/{{show.student.email}}" /></dd>
</dl>
</script>
<script id="jsbin-javascript">
var studentApp = angular.module("studentApp", ["ngRoute"]);
studentApp.factory("Student", function() {
return {
students: [{
id: 1,
name: "Joe Blow",
email: "[email protected]"
}, {
id: 2,
name: "John Doe",
email: ""
}],
getStudent: function(id) {
return _.findWhere(this.students, {id: Number(id)});
}
};
});
studentApp.controller("StudentCtrl", function(Student) {
this.students = Student.students;
});
studentApp.controller("ShowStudentCtrl", function(Student, $routeParams) {
this.student = Student.getStudent($routeParams.id);
});
studentApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/students/:id', {templateUrl: 'showStudent.html', controller: "ShowStudentCtrl as show"});
}]);
</script>
<script id="jsbin-source-javascript" type="text/javascript">var studentApp = angular.module("studentApp", ["ngRoute"]);
studentApp.factory("Student", function() {
return {
students: [{
id: 1,
name: "Joe Blow",
email: "[email protected]"
}, {
id: 2,
name: "John Doe",
email: ""
}],
getStudent: function(id) {
return _.findWhere(this.students, {id: Number(id)});
}
};
});
studentApp.controller("StudentCtrl", function(Student) {
this.students = Student.students;
});
studentApp.controller("ShowStudentCtrl", function(Student, $routeParams) {
this.student = Student.getStudent($routeParams.id);
});
studentApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/students/:id', {templateUrl: 'showStudent.html', controller: "ShowStudentCtrl as show"});
}]);</script></body>
</html>
var studentApp = angular.module("studentApp", ["ngRoute"]);
studentApp.factory("Student", function() {
return {
students: [{
id: 1,
name: "Joe Blow",
email: "[email protected]"
}, {
id: 2,
name: "John Doe",
email: ""
}],
getStudent: function(id) {
return _.findWhere(this.students, {id: Number(id)});
}
};
});
studentApp.controller("StudentCtrl", function(Student) {
this.students = Student.students;
});
studentApp.controller("ShowStudentCtrl", function(Student, $routeParams) {
this.student = Student.getStudent($routeParams.id);
});
studentApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/students/:id', {templateUrl: 'showStudent.html', controller: "ShowStudentCtrl as show"});
}]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment