I'm Todd, I teach the world Angular through @UltimateAngular. Conference speaker and Developer Expert at Google.

Dynamic Controllers in Directives with the undocumented "name" property

Assigning Controllers to Angular Directives is the norm when building out components. But what if you wanted to dynamically assign a Controller to the same Directive and template? There are...

Read more Dynamic Controllers in Directives with the undocumented

Angular component() method back-ported to 1.3+

Angular 1.5 is soon to release the component() method which I wrote about last month. I decided to back-port the functionality from the new feature so anyone running Angular 1.3...

Read more Angular component() method back-ported to 1.3+

Exploring the Angular 1.5 .component() method

Angular 1.5 introduced the .component() helper method, which is much simpler than the .directive() definition and advocates best practices and common default behaviours. Using .component() will allow developers to write...

Read more Exploring the Angular 1.5 .component() method

Walkthrough to upgrade an Angular 1.x component to Angular 2

In this article we’re going to look at upgrading your first Angular 1.x component, a simple todo app, across to Angular 2 code. We’ll compare the API differences, templating syntaxes...

Read more Walkthrough to upgrade an Angular 1.x component to Angular 2

Superfast Angular: use ngModelOptions to limit $digest cycles

The $digest cycle is the critical entity for keeping our Angular applications fast: the faster the cycle, the faster the two-way data binding. JavaScript has a single thread of execution,...

Read more Superfast Angular: use ngModelOptions to limit $digest cycles

Moving from ngModel.$parsers /ng-if to ngModel.$validators /ngMessages

Implementing custom Model validation is typically done by extending the built-in $error Object bound to AngularJS form models, such as a simple <input>. Prior to Angular 1.3, custom validation was...

Read more Moving from ngModel.$parsers /ng-if to ngModel.$validators /ngMessages

No $scope soup, bindToController in AngularJS

Namespacing, code consistency and proper design patterns really matter in software engineering, and Angular addresses a lot of issues we face as front-end engineers really nicely. I’d like to show...

Read more No $scope soup, bindToController in AngularJS

Being a healthy software engineer

A post a little off topic today, but after a few tweets of mine a few people have suggested a write up on what changes I’ve made and how they’ve...

Read more Being a healthy software engineer

A better way to $scope, angular.extend, no more “vm = this”

The evolution of Angular Controllers has changed over the last year. As of now, most of us are working with the most recent addition to “Controller” syntax with the controllerAs...

Read more A better way to $scope, angular.extend, no more “vm = this”

Killing it with Angular Directives; Structure and MVVM

In this post I’m going to outline my approach on writing Directives for Angular 1.x releases. There’s a lot of confusion around how and why and where to do things...

Read more Killing it with Angular Directives; Structure and MVVM