I'm having trouble communicating with my angularJS radio buttons. I'm using the material design framework. I'm fairly new to angular.
HTML
<div ng-controller="MainCtrl as ctrl"> <md-radio-group class="user-type"> <div layout="row" layout-sm="column" layout-align="space-between" layout-align-sm="space-around center"> <md-radio-button ng-model="userType" value="prospective" name="user_type" ng-change='newValue(value)'>Prospective Patient</md-radio-button> <md-radio-button ng-model="userType" value="patient" name="user_type" ng-change='newValue(value)'>Patient</md-radio-button> <md-radio-button ng-model="userType" value="caregiver" name="user_type" ng-change='newValue(value)'> Caregiver </md-radio-button> <md-radio-button ng-model="userType" value="doctor" name="user_type" ng-change='newValue(value)'>Doctor</md-radio-button> </div> </md-radio-group> </div> JS
.controller('MainCtrl', ['$scope', function($scope) { var self = this; $scope.newValue = function(value) { console.log(value); }; $scope.$watch('userType', function(value){ if(value == "patient"){ console.log(value); self.showPatientStepTwo = true; }else{ console.log(value); self.showPatientStepTwo = false; } }); }]) My ng-change isn't firing and my $watch isn't working either. Can anyone find where I'm going wrong? I can't communicate between my controller and view!