Writing an Angular controller using the controllerAs syntax has helped improve our code and nearly eliminate the need to inject $scope. This post will go over writing your controllers as classes in TypeScript to take that concept to the next level.
I tend to stick with the $http service as it works well and has no suprises. But, I can see the allure of the $resource service. Here's a really brief demo.
Both ngRepeat and ngOptions give you the ability to populate a list of options in a select input. Each has their place and I'm going to demonstrate where you'd use them.
There's more than one way to watch a property on your scope in Angular. I'll show you the best way to setup a watch using TypeScript.