angularjs プロジェクトで ui ブートストラップ 'tabs' コンポーネントを使用しています。tab.htmlというファイルで定義されています。定義コードは次のとおりです。
<uib-tabset class="product-tab-bar">
<uib-tab ng-repeat="tab in tabs" active="tab.active" ui-sref="{{tab.action}}" disable="tab.disabled" class="product-tab">
<uib-tab-heading>
<span class="{{tab.icon}}"></span> {{tab.title}}
</uib-tab-heading>
<div ui-view></div>
</uib-tab>
</uib-tabset>
タブはコントローラーで定義されます。
.controller('myController', function () {
$scope.tabs = [
{title: "tab1", action:".tab1" , icon: "icon-tab1", active: false},
{title: "tab2", action:".tab2" , icon: "icon-tab2", active: true},
{title: "tab3", action:".tab3" , icon: "icon-tab3", active: false}
]
});
状態の定義は次のとおりです。
.state('tab', {
url: '/tab',
templateUrl: 'tab.html'
})
.state('tab.tab1', {
url: '/tab1',
templateUrl: 'tab1.html',
})
.state('tab.tab2', {
url: '/tab2',
templateUrl: 'tab2.html',
})
.state('tab.tab3', {
url: '/tab3',
templateUrl: 'tab3.html',
})
タブをクリックすると状態が変化します。私の質問は、最初にtab.htmlをロードすると、タブ 'tab2' がアクティブになりますが、tab2 のコンテンツがロードされないということです
あなたは以下のように見ることができます:
「tab2」をクリックする必要があり、状態が変更され、コンテンツがロードされます
あなたは以下のように見ることができます:
最初にtab.htmlをロードするとき、「tab2」のコンテンツをロードする方法、または「tab2」の状態をアクティブにする方法はありますか?