templateUrl
に 404 ページを設定したステートを作成し、otherwise
に設定したハンドラで $state.go
メソッドを使って 404 ページを表示する。
$urlRouterProvider.otherwise
を使わず $rootScope.$on("$stateChangeError")
のハンドラで行ってもよいと思う。
angular.module("myapp").config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state("404", {
templateUrl: "/views/404.html"
});
$urlRouterProvider
.otherwise(function ($injector) {
$injector.get("$state").go("404");
});
});