Angular 使用 ng-switch 來製作 tab
馬上就有朋友跟我說可以用 ng-switch 來製作,於是就用他的寫法來做一個了。
HTML 部分
主要是在 ng-switch on="page" 判斷 ng-switch-when 的值再顯示該內容,另外在 ng-class="{active:item.name==page}" ,代表當 tab 的名字跟 page 的名字是一樣時,套上 active 這個 class。
js 真是他媽的短
Demo
參考:
Use links to change ng-switch
ngSwitch 官方文件
朋友寫的另一個方式,這是在結構都一模一樣的情況下,寫起來可以更簡潔。
HTML 部分
- <div ng-app ng-controller="tabController" class="wrapper">
- <ul class="clearfix">
- <li ng-repeat="item in items" ng-class="{active:item.name==page}" ng-click="tabChange(item)">{{item.name}}</li>
- </ul>
- <div id="mainView" ng-switch on="page">
- <div ng-switch-when="Cutman">
- <a href="http://www.flickr.com/photos/deathhell/6861320435/"><img src="http://farm8.staticflickr.com/7205/6861320435_87faa1786a.jpg" width="500" height="500" alt="Cutman"></a>
- </div>
- <div ng-switch-when="Iceman">
- <a href="http://www.flickr.com/photos/deathhell/6861320569/" ><img src="http://farm8.staticflickr.com/7038/6861320569_36165752d5.jpg" width="500" height="500" alt="Iceman"></a>
- </div>
- <div ng-switch-when="Fireman">
- <a href="http://www.flickr.com/photos/deathhell/6861320811/" ><img src="http://farm8.staticflickr.com/7064/6861320811_c933a33e2.jpg" width="500" height="500" alt="Fireman"></a>
- </div>
- </div>
主要是在 ng-switch on="page" 判斷 ng-switch-when 的值再顯示該內容,另外在 ng-class="{active:item.name==page}" ,代表當 tab 的名字跟 page 的名字是一樣時,套上 active 這個 class。
js 真是他媽的短
- function tabController($scope){
- $scope.page = 'Cutman';
- $scope.items = [{name:'Cutman'}, {name:'Iceman'}, {name:'Fireman'}];
- $scope.tabChange=function(item){
- $scope.page = item.name;
- }
- }
Demo
參考:
Use links to change ng-switch
ngSwitch 官方文件
朋友寫的另一個方式,這是在結構都一模一樣的情況下,寫起來可以更簡潔。
留言