AngularJS 製作頁籤
頁籤也是在一般網頁很常用到的 UI ,不過 Angular 實作起來跟 jQuery 差好多阿..
首先準備 html
簡單說就是用 text/ng-template 來依各分頁做樣板,然後在點 tab 的時候各別去顯示該顯示的內容。
javascript 部分
Demo
參考
AngularJS: Simple Tabs
首先準備 html
- <div ng-controller="tabController" class="wrapper">
- <ul class="clearfix">
- <li ng-repeat="tab in tabs"
- ng-class="{active:isActiveTab(tab.url)}"
- ng-click="onClickTab(tab)">{{tab.title}}</li>
- </ul>
- <div id="mainView">
- <div ng-include="currentTab"></div>
- </div>
- <script type="text/ng-template" id="one.tpl.html">
- <a href="http://www.flickr.com/photos/deathhell/6861320435/" title="Flickr 上 紅色死神 的 Cutman"><img src="http://farm8.staticflickr.com/7205/6861320435_87faa1786a.jpg" width="500" height="500" alt="Cutman"></a>
- </script>
- <script type="text/ng-template" id="two.tpl.html">
- <a href="http://www.flickr.com/photos/deathhell/6861320497/" title="Flickr 上 紅色死神 的 Gutsman"><img src="http://farm8.staticflickr.com/7193/6861320497_f9b2492d24.jpg" width="500" height="500" alt="Gutsman"></a>
- </script>
- <script type="text/ng-template" id="three.tpl.html">
- <a href="http://www.flickr.com/photos/deathhell/6861320569/" title="Flickr 上 紅色死神 的 Iceman"><img src="http://farm8.staticflickr.com/7038/6861320569_36165752d5.jpg" width="500" height="500" alt="Iceman"></a>
- </script>
- <script type="text/ng-template" id="four.tpl.html">
- <a href="http://www.flickr.com/photos/deathhell/6861320811/" title="Flickr 上 紅色死神 的 Fireman"><img src="http://farm8.staticflickr.com/7064/6861320811_c9343a33e2.jpg" width="500" height="500" alt="Fireman"></a>
- </script>
- </div>
簡單說就是用 text/ng-template 來依各分頁做樣板,然後在點 tab 的時候各別去顯示該顯示的內容。
javascript 部分
- function tabController($scope){
- $scope.tabs = [{
- title: 'Cutman',
- url: 'one.tpl.html'
- }, {
- title: 'Gutsman',
- url: 'two.tpl.html'
- }, {
- title: 'Iceman',
- url: 'three.tpl.html'
- }, {
- title: 'Fireman',
- url: 'four.tpl.html'
- }];
- $scope.currentTab = 'one.tpl.html';
- $scope.onClickTab = function (tab) {
- $scope.currentTab = tab.url;
- }
- $scope.isActiveTab = function(tabUrl) {
- return tabUrl == $scope.currentTab;
- }
- }
Demo
參考
AngularJS: Simple Tabs
留言