====== Angularjs beginner ====== * http://zaiste.net/2013/07/concisely_how_to_get_started_with_angularjs/ * http://scotch.io/tutorials/javascript/single-page-apps-with-angularjs-routing-and-templating * http://draptik.github.io/blog/2013/07/13/angularjs-example-using-a-java-restful-web-service/ * https://github.com/johnpapa/angular-styleguide * Dependency injection: * http://henriquat.re/basics-of-angular/services-dependency-injection/services-and-dependency-injection-in-angularjs.html * Factory vs Service vs Provider: * https://docs.angularjs.org/guide/providers, http://www.ng-newsletter.com/posts/beginner2expert-services.html * http://stackoverflow.com/questions/18939709/angularjs-when-to-use-service-instead-of-factory * Websocket * http://javabypatel.blogspot.in/2015/07/how-websocket-works-with-websocket-hello-world-example.html ====== Rest Services ====== * https://docs.angularjs.org/guide/services * https://docs.angularjs.org/tutorial/step_11 ====== AngularJS Promisses ====== * http://blog.xebia.com/2014/02/23/promises-and-design-patterns-in-angularjs/ * http://www.bennadel.com/blog/2772-exploring-asynchronous-promise-based-workflows-in-angularjs.htm ====== Nested objects ====== * http://stackoverflow.com/questions/23313273/retrieve-comments-for-posts-model-relations-in-angularjs-against-a-restful-api So after a lot of looking around I've learned the answer to at least my original question. And angularjs truly does handle it beautifully. Basically by adding an ng-controller to an item with ng-repeat you can now play with the items on an item by item basis. Full example code with my solution is below if anyone is interested. //index.html Get Comments from Topic

{{ topic.topic_title }}

{{ comment.comment }}

{{ comment.author_name }}

My controllers: // app.js var app = angular.module("restApp", ["restangular"]); app.config( function(RestangularProvider){ RestangularProvider.setBaseUrl('http://api.example.com/v1'); RestangularProvider.setDefaultHeaders({"Authorization": "..."}); } ); app.config(function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers .common['X-Requested-With']; }); app.controller("mainController", ["Restangular","$scope", function(Restangular, $scope){ $scope.message = "Welcome to REST"; var topics = Restangular.all('topics'); var allTopics = topics.getList().then(function(topics){ $scope.topics = topics; console.log($scope.topics); }); }]); app.controller("topicController", ["Restangular", "$scope", function(Restangular, $scope){ var oneTopic = Restangular.one('topics', $scope.topic.id); oneTopic.get().then(function(topic) { topic.getList('comments').then(function(comments){ $scope.comments = comments; console.log($scope.comments); }); }); }]); ====== Login ====== * http://stackoverflow.com/questions/18008602/servicestack-model-binding-on-json-post-using-angularjs?rq=1 * http://arthur.gonigberg.com/2013/06/29/angularjs-role-based-auth/ * http://www.boynux.com/angularjs-facebook-integration/ ====== UI: Nested views, ui-router, ui-bootstrap ====== * Project structure: https://github.com/ngbp/ngbp/blob/v0.3.2-release/src/README.md * http://stackoverflow.com/questions/22187231/doubly-nested-views-ui-router-or-ui-bootstrap-tabs-accordion * https://github.com/angular-ui/ui-router/wiki ===== ui-router parameter ===== * http://stackoverflow.com/questions/21097820/angular-ui-router-how-to-access-parameters-in-nested-named-view-passed-from ===== watch ===== * http://teropa.info/blog/2014/01/26/the-three-watch-depths-of-angularjs.html