AngularJs と UI Bootstrap を使用して、動的に生成されたタブのコンテンツで ng-include を使用したいと思います。
ここにプランカーがあります: http://plnkr.co/edit/2mpbovsu2eDrUdu8t7SM?p=preview
<div id="mainCntr" style="padding: 20px;">
<uib-tabset>
<uib-tab ng-repeat="tab in tabs" active="tab.active" disable="tab.disabled">
<uib-tab-heading>
{{tab.title}} <i class="glyphicon glyphicon-remove-sign" ng-click="removeTab($index)"></i>
</uib-tab-heading>
{{tab.content}}
</uib-tab>
</uib-tabset>
</div>
JS コード:
$scope.addTab = function() {
var len = $scope.tabs.length + 1;
var numLbl = '' + ((len > 9) ? '' : '0') + String(len);
var mrkUp = '<div>' +
'<h1>New Tab ' + numLbl + ' {{foo}}</h1>' +
'<div ng-include="tab.tabUrl" class="ng-scope"></div>' +
'</div>';
$scope.tabs.push({title: 'Tab ' + numLbl, content: $compile(angular.element(mrkUp))($scope)});
}
プランカーで、[タブの追加] ボタンをクリックします。新しいタブをコレクションにプッシュする $scope の関数を呼び出しますが、ng-include ディレクティブを含む動的に生成されたコンテンツを渡します。予想される出力は、ng-include がタブ コンテンツ エリア内に表示されることです。
ありがとう