4

ui-routerを使用すると、状態の子と孫は親と祖父母のコントローラーに正しくアクセスできますか?

たとえば、 .state(resources.resource.rates) .rate 状態コントローラーは、リソースとリソース (すべて独自のコントローラーを持っている) の $scope.objects にアクセスできますか?

前提として、すべてが ui-view="content2" を持つリソース内のネストされたビューである html をセットアップしています。ただし、リソース内に別のページがあり、リソースと同じネストされたビューで開きたいが、リソースコントローラーにもアクセスしたい。

.state('resources.resource.rates', {
    url: '/rates',
    views:{
        "content2":{
            templateUrl: 'templates/rates.html',
            controller: 'CreateRatesCtrl'
        }
    }   
})  

私のビューの ng-href は /resources/{{resource.Id}}/rates にリンクしていますが、リソースの ui-view で料金ページを開きません。

私が試したのは、ビューを content2@resources に設定することでした

views:{
        "content2@resources":{
            templateUrl: 'templates/rates.html',
            controller: 'CreateRatesCtrl'
      }
}   

これは、html が resources/{{resource.Id}}/rates. リソース コントローラーから必要な resourceId があります。この場合、content2@resources を設定すると、スコープ アクセスがリソース コントローラーのみに制限されますか? もしそうなら、リソースコントローラーにもアクセスできるようにするにはどうすればよいですか?

4

1 に答える 1

5

ui-router wikiから引用:

状態のビューがネストされている場合、スコープ プロパティは状態チェーンを継承するだけであることに注意してください。スコープ プロパティの継承は、状態のネストとは関係なく、すべてビュー (テンプレート) のネストと関係があります。

これは、状態やビューのネストによって何が得られ、何が得られないかを理解するのに十分なはずです。

于 2014-08-12T23:06:18.977 に答える