controllerAs vm does not bind any behavior

State declaration:

 $stateProvider
        .state('intro', {
          url: '/intro',
          templateUrl: 'src/intro/views/intro.html',
          controller: 'IntroController',
          controllerAs: 'vm'
        })

Controller:

  (function(){
  "use strict";

  angular
    .module('app.intro')
    .controller("IntroController", IntroController);

    IntroController.$inject = ['$ionicSlideBoxDelegate'];

    function IntroController($ionicSlideBoxDelegate){
      var vm = this;
      vm.nextSlide = nextSlide;

      function nextSlide(){
        console.log("foobar")
      }

    }
})();

view:

<ion-slide-box  show-pager="true">
  <ion-slide>
      <button class="button button-clear" ng-click="vm.nextSlide()">
        Foobar
      </button>
  </ion-slide>

This does not work with Ionic at all. If i try the same with just plain angular it works well. Any reason it might be failing?

Ionic doesn’t seem to work with the controllerAs syntax. See this issue on the repo about it (with a work around).