Skip to content

Instantly share code, notes, and snippets.

@jherrlin
Created July 25, 2015 18:21
Show Gist options
  • Save jherrlin/ce109d4f4ea0e633fb57 to your computer and use it in GitHub Desktop.
Save jherrlin/ce109d4f4ea0e633fb57 to your computer and use it in GitHub Desktop.
AngularJS / ui-router / ngResource
# app.js
angular.module('myApp', [
'ui.router',
'ngResource',
'services',
'factories',
'controllers'
])
.config(function($stateProvider, $urlRouterProvider) {
//
// For any unmatched url, redirect to /state1
$urlRouterProvider.otherwise("/state1");
//
// Now set up the states
$stateProvider
.state('state1', {
url: "/state1",
templateUrl: "templates/state1.html",
resolve: {
course: function(CourseService) {
return CourseService.getItem();
}
},
controller: 'EventController'
})
.state('state2', {
url: "/state2",
templateUrl: "templates/state2.html"
})
.state('state2.list', {
url: "/list",
templateUrl: "templates/state2.list.html",
controller: function ($scope) {
$scope.things = ["A", "Set", "Of", "Things"];
}
})
});
# service.js
angular.module('services', ['ngResource'])
.service('CourseService', ['Course', function($q, Course){
return {
getItem: function() {
return Course.get({course:course['1BD105']});
}
}
}])
.service('ItemsService', function($q) {
return {
getItem: function() {
var dfd = $q.defer();
setTimeout(function() {
dfd.resolve({
name: 'Mittens Cat'
})
}, 2000);
console.log('In ItemServices');
return dfd.promise;
}
}
});
# factories.js
angular.module('factories',[
'ngResource'
])
// Factory for getting course and courses
.factory('Course', function($resource){
return $resource('http://unitime.se/api/course/:course', {}, {
'get': {method: 'GET', isArray: true}
});
});
# controllers.js
angular.module('controllers', [])
.controller('EventController', function($scope, $state, course){
$scope.items = course;
$scope.hejsan = 'Hejsan';
console.log('In EventController');
});
# state1.html
<h1>Resolve state</h1>
<hr/>
<div ui-view>
<p>{{items}}</p>
<p>{{hejsan}}</p>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment