AngularJS bootstrap-ui 选项卡拉入本地 html 内容
AngularJS bootstrap-ui tabs pulling in local html content
我已经设置了一个简单的应用程序,现在我想引入一个本地 html 文件作为每个选项卡的内容。我也只希望 'apple' 内容显示在 'Apple' 选项卡下,梨也一样,让我的 html 尽可能简单,因为将来可以添加更多水果。
请查看我当前配置的plunker:
http://plnkr.co/edit/Y6Ey8vbvrq3xzvBhJS7o?p=preview
<tab ng-repeat="tab in tabs" heading="{{tab.title}}" select="getContent($index)" active="tab.active" disabled="tab.disabled">
<div ng-hide="!tabs.isLoaded">
<h1>{{tab.title}}</h1>
<div ng-repeat="item in tabs.content">
<p>{{item[tab.title]}}</p>
</div>
</div>
<div ng-hide="tabs.isLoaded"><h3>Loading...</h3></div>
</tab>
我的问题是,你能帮我确定如何只提取属于一个 html 文件的每个选项卡的特定内容吗?
这是 ng-include
的完美用例。根据 Documentation,它 fetches, compiles and includes an external HTML fragment.
这样使用:
Javascript
$scope.templates = [
{ URL: '/path/to/file.html' },
{ URL: '/path/to/file2.html'}
]
HTML
<div ng-repeat="template in templates">
<div ng-include="template.URL">
<!-- Template markup goes here -->
</div>
</div>
就是这样。只要确保 file.html 和 file2.html 存在,您就可以将标记直接拖到每个相应的标记中。
编辑:根据您对 Pangolin 回答的评论:Plunker
JS
app.directive("fruit", function() {
return {
restrict: "E",
templateUrl: "fruit.html"
};
});
HTML
<tab ng-repeat="tab in tabs" heading="{{tab.title}}" select="getContent($index)" active="tab.active" disabled="tab.disabled">
<div ng-hide="!tabs.isLoaded">
<fruit></fruit>
</div>
<div ng-hide="tabs.isLoaded"><h3>Loading...</h3></div>
</tab>
fruit.html(精简版)
<div ng-show="tab.title=='Apple'">
<h2>Apple</h2>
<p>The apple tree....
</div>
<div ng-show="tab.title=='Pear'">
<h3>Pear</h3>
<p>The pear is
</div>
我已经设置了一个简单的应用程序,现在我想引入一个本地 html 文件作为每个选项卡的内容。我也只希望 'apple' 内容显示在 'Apple' 选项卡下,梨也一样,让我的 html 尽可能简单,因为将来可以添加更多水果。
请查看我当前配置的plunker: http://plnkr.co/edit/Y6Ey8vbvrq3xzvBhJS7o?p=preview
<tab ng-repeat="tab in tabs" heading="{{tab.title}}" select="getContent($index)" active="tab.active" disabled="tab.disabled">
<div ng-hide="!tabs.isLoaded">
<h1>{{tab.title}}</h1>
<div ng-repeat="item in tabs.content">
<p>{{item[tab.title]}}</p>
</div>
</div>
<div ng-hide="tabs.isLoaded"><h3>Loading...</h3></div>
</tab>
我的问题是,你能帮我确定如何只提取属于一个 html 文件的每个选项卡的特定内容吗?
这是 ng-include
的完美用例。根据 Documentation,它 fetches, compiles and includes an external HTML fragment.
这样使用:
Javascript
$scope.templates = [
{ URL: '/path/to/file.html' },
{ URL: '/path/to/file2.html'}
]
HTML
<div ng-repeat="template in templates">
<div ng-include="template.URL">
<!-- Template markup goes here -->
</div>
</div>
就是这样。只要确保 file.html 和 file2.html 存在,您就可以将标记直接拖到每个相应的标记中。
编辑:根据您对 Pangolin 回答的评论:Plunker
JS
app.directive("fruit", function() {
return {
restrict: "E",
templateUrl: "fruit.html"
};
});
HTML
<tab ng-repeat="tab in tabs" heading="{{tab.title}}" select="getContent($index)" active="tab.active" disabled="tab.disabled">
<div ng-hide="!tabs.isLoaded">
<fruit></fruit>
</div>
<div ng-hide="tabs.isLoaded"><h3>Loading...</h3></div>
</tab>
fruit.html(精简版)
<div ng-show="tab.title=='Apple'">
<h2>Apple</h2>
<p>The apple tree....
</div>
<div ng-show="tab.title=='Pear'">
<h3>Pear</h3>
<p>The pear is
</div>