I figured out why I was getting a similar issue.
Angular documentation isn't explicit about this... But if you're going to use Controller As syntax, you MUST set your model values to "this" on your controller. You CANNOT set the values to $scope.
When you inspect the $scope after you alias, you can see a new property on your parent $scope with the name of your alias.
My alias was pmt. I changed my properties and functions from
$scope.myProperty
to
var vm = this;
vm.myProperty
When you inspect the $scope.$parent of my aliased controller, you see vm listed on it's properties. That's how they do aliasing.
Really wish the documentation was explicit on this.