AngularJS / ui-router: $ state.go funktioniert nicht mit ng-click

Ich habe eine Ansicht, wo ich den folgenden Code habe:

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

Ziel ist es, in einen neuen Zustand überzugehen, ohne href verwenden zu müssen. Leider löst der obige Code einfach nicht aus.

Ich habe auch versucht, $ state für diese Ansicht in den Controller aufzunehmen:

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

Aber immer noch nichts. transictionTo scheint auch nicht zu funktionieren.

Hat jemand eine Idee, wie das funktionieren soll?

EDIT: Ich konnte es nur schaffen, indem ich:

$scope.$state = $state;

in meinem Controller. Das scheint hässlich. Gibt es wirklich keine andere Möglichkeit, auf $ state zuzugreifen, ohne es dem Bereich zuzuweisen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage