0
UI-Router v0.4.xからv1.0に移行していますが、問題が発生しています。次のコードを考えてみましょう。 this
は今null
あるので、それはそれはに移行された状態に関する情報が含まれて前のに対し、新バージョンlet targetStateName = this.self.name
で AngularJS UI-Router v1.0:解決中に状態名を取得する
myApp
.component('myComponent', {
bindings: {
resolveBinding: '<'
},
controller: class myComponentController {
constructor() {
// ...
}
},
templateUrl: someTemplateUrl
})
.config(($stateProvider) => {
$stateProvider
.state('some-state', {
url: '/some-state',
component: 'myComponent',
resolve: {
resolveBinding: function(DependencyResolver) {
let targetStateName = this.self.name
return DependencyResolver.doSomeThingsFor(targetStateName)
}
}
})
})
は、失敗します。
このコードブロックで州名を取得するにはどうすればよいですか?
私のようなものrootScope
に名前を入れて$transitions.onBefore
フックを使用して、とやって考えていた:
resolveBinding: function($rootScope, DependencyResolver) {
let targetStateName = $rootScope.hackyStateName
return DependencyResolver.doSomeThingsFor(targetStateName)
}
をしかし、私は、これは醜いと感じ、私は簡単に、よりエレガントな何かを逃しています。
私が探していたものとまったく同じです。これを指摘してくれてありがとう! –