AngularJS / ui-router: $ state.go no funciona dentro de ng-click

Tengo una vista donde tengo el siguiente código:

<input type="button" value="New Post" ng-click="$state.go('blog.new-post')">

El objetivo es hacer la transición a un nuevo estado sin tener que usar href. Desafortunadamente el código de arriba simplemente no se dispara.

También traté de incluir $ state en el controlador para esta vista:

app.controller('blogPostsController', function($scope, $stateParams, $http, $state) ...

Pero todavía nada. transictionTo tampoco parece funcionar.

¿Alguien tiene alguna idea de cómo hacer que esto funcione?

EDITAR: Solo pude hacer que funcione asignando:

$scope.$state = $state;

dentro de mi control Esto parece feo. ¿Realmente no hay otra forma de acceder a $ state sin asignarle un alcance?

Respuestas a la pregunta(3)

Su respuesta a la pregunta