Todd Motto's angular.extend instead of vm = this
HTML
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"></script>
<div ng-app="app" ng-controller="loginController as vm">
<input ng-model="vm.username" />
<input ng-model="vm.password" />
<button ng-click="vm.login()">Login</button>
</div>
JavaScript
angular.module('app', [])
.controller('loginController', function loginController() {
function login() {
if(! this.username){
alert("noooooooo");
} else {
alert('"this" vars: ' + this.username + ' | ' + this.password);
}
}
angular.extend(this, {
username: '',
password: '',
login: login
});
});