2016-12-19 3 views
0

Here is a plunker I am working on。私はstateProviderが新しく、ネストされたビューで私の手を試しています。私はかなり私がやってビュー内のビューを台無しにしましています:stateproviderにネストされたビューを設定する

.state('canvas',{ 
      name: 'canvas', 
      url: '/', 
      views:{ 
       '': {templateUrl:'welcome-page.html'}, 
       '[email protected]': { 
        templateUrl: 'carousel-detail.html', 
        views:{ 
         '[email protected]' : {template: '<h2>Carousel-1 child view</h2>'} 
          } 
       }, 
       '[email protected]': {template: '<h2>Carousel2</h2>'}, 
      }, 
}) 

あなたは私がcarouselDetailビューをレンダリング助けてください。

答えて

0

厳密に言えば、できません。

最初に、ビュー内にビューをネストすることはできません。ビュー内に子ビューがないことを意味します。は子の状態を宣言しません。したがって、carousel1carousel2は兄弟ビューですが、carousel1-childは子の状態として宣言されていないcarousel1の '子ビュー'として持つことはできません。ネストされたビューが必要な場合は、子ステートを宣言し、子ビューを設定するには<div ui-view></div>を使用する必要があります。ドキュメントhereを読むことができます。

第2に、子の状態を宣言すると仮定すると、もう一度問題に遭遇します。carousel1carousel2という並行性が失われます(そのような単語はありますか?)。どうして?同時にアクティブになっている2つの状態を持つことはできないので、実際はステートマシンの厳密な定義です。これはまさにui-routerが行っていることです。しかし、実際にパラレル状態にしたい場合は、ui-router-extraをchristopherthielenで使用してください。 ui-routerのこの拡張機能により、一度に複数の状態をアクティブにすることができ、必要なユースケースになる可能性があります。

私はplnkrを作成しました。

追加:plnkrを投稿するときに、実際に再現可能な問題がないことを確認してください。ファイルパスをコピーするだけで複数の404エラーが発生します。

+0

ありがとうございます、次回は気をつけます。 – Samuel

関連する問題