11

私はこのコントローラーを使用してangular-uiのタブを使用しています:

$scope.panes = [
    { title:"Home",      content:"home" , active: true},
    { title:"Settings",  content:"settings"},
    { title:"View",      content:"view"}
];

そしてこれはhtmlファイルにあります:

<tabs>
    <pane
      active="pane.active"
      heading="{{pane.title}}"
      ng-repeat="pane in panes"
    >
      {{pane.content}}
    </pane>
  </tabs>

しかし、コンテンツをテンプレートとして設定したいのですが、どうすればよいですか。このプランカーでng-includeコードを設定しようとしました、機能しませんでした。
前もって感謝します。

アップデート:

この解決策を見つけ、angular-bootstrap v0.12を使用していない場合は、次のようにコードをv0.13の新しい構文に更新する必要があります。

<tabset>
    <tab
      active="pane.active"
      heading="{{pane.title}}"
      ng-repeat="pane in panes"
    >
      <div ng-include="pane.content"></div>
    </tab>
  </tabset>

私はすでにプランカーを更新し、angular-bootstrapv0.13の構文を使用しています。

4

1 に答える 1

25

ペインの子としてng-includeを追加するだけです

<tabs>
    <pane active="pane.active"
          heading="{{pane.title}}"
          ng-repeat="pane in panes">
        <div ng-include="pane.content"></div>
    </pane>
</tabs>

これが機能する理由は、ペイン変数を作成するng-repeatと同じ要素でng-includeを使用すると、スコープ変数ペインがまだ使用できないためです。

これは、ng-includeの優先度の値が 0 (デフォルト) であるのに対し、ng-repeat の優先度は 1000 であるため、実行順序は次のとおりです。

  1. ng-インクルード
  2. NGリピート

ディレクティブのドキュメントを参照してください

于 2013-02-15T15:13:27.737 に答える