angular.js - Klik pada nombor siri dalam jadual sudut untuk mengisih dalam susunan menaik atau menurun Cara melaksanakannya.
PHP中文网
PHP中文网 2017-05-15 17:03:36
0
2
744
<p ng-app="app" ng-controller="appController">
    <table>
        <thead>
        <tr>
            <th>序号</th>
            <th>内容</th>
            <th>姓名</th>
            <th>地点</th>
            <th>时间</th>
            <th ng-click="sort('id')">序号</th>
        </tr>
        </thead>
        <tbody>
            <tr ng-repeat="x in obj | orderBy: 'id'">
                <td ng-if="$index + 1 === 1" style="color: red">{{$index + 1}}</td>
                <td ng-if="$index + 1 === 2" style="color: green">{{$index + 1}}</td>
                <td ng-if="$index + 1 === 3" style="color: yellow">{{$index + 1}}</td>
                <td ng-if="$index + 1 > 3">{{$index + 1}}</td>
                <td>{{x.Name}}</td>
                <td>{{x.City}}</td>
                <td>{{x.Country}}</td>
                <td>{{x.Country + x.City}}</td>
                <td>{{x.id}}</td>
            </tr>
        </tbody>
    </table>
</p>
//js文件
<script>
    var app = angular.module('app', []);
    app.controller('appController', function($scope, $http) {
            //数据
            $scope.obj = [
                {
                    "Name": "Alfreds Futterkiste",
                    "City": "Berlin",
                    "Country": "Germany",
                    "id": 4
                },
                {
                    "Name": "Ana Trujillo Emparedados y helados",
                    "City": "México D.F.",
                    "Country": "Mexico",
                    "id": 3
                },
                {
                    "Name": "Comércio Mineiro",
                    "City": "São Paulo",
                    "Country": "Brazil",
                    "id": 2
                }, {
                    "Name": "Ana Trujillo Emparedados y helados",
                    "City": "México D.F.",
                    "Country": "Mexico",
                    "id": 5
                }
            ];
    });
</script>

Bagaimana untuk mengisih dengan mengklik pada nombor siri dalam susunan menaik dan menurun?

PHP中文网
PHP中文网

认证0级讲师

membalas semua(2)
为情所困

htmlTukar kepada:

<p ng-app="app" ng-controller="appController">
    <table>
        <thead>
        <tr>
            <th>序号</th>
            <th>内容</th>
            <th>姓名</th>
            <th>地点</th>
            <th>时间</th>
            <th ng-click="toggleSort()">序号</th>
        </tr>
        </thead>
        <tbody>
            <tr ng-repeat="x in obj">
                <td ng-if="$index + 1 === 1" style="color: red">{{$index + 1}}</td>
                <td ng-if="$index + 1 === 2" style="color: green">{{$index + 1}}</td>
                <td ng-if="$index + 1 === 3" style="color: yellow">{{$index + 1}}</td>
                <td ng-if="$index + 1 > 3">{{$index + 1}}</td>
                <td>{{x.Name}}</td>
                <td>{{x.City}}</td>
                <td>{{x.Country}}</td>
                <td>{{x.Country + x.City}}</td>
                <td>{{x.id}}</td>
            </tr>
        </tbody>
    </table>
</p>

js

//js文件
<script>
    var app = angular.module('app', []);
    app.controller('appController', function($scope, $http) {
    
            $scope.sortIsAsc = true;
            
            //数据
            $scope.obj = [
                {
                    "Name": "Alfreds Futterkiste",
                    "City": "Berlin",
                    "Country": "Germany",
                    "id": 4
                },
                {
                    "Name": "Ana Trujillo Emparedados y helados",
                    "City": "México D.F.",
                    "Country": "Mexico",
                    "id": 3
                },
                {
                    "Name": "Comércio Mineiro",
                    "City": "São Paulo",
                    "Country": "Brazil",
                    "id": 2
                }, {
                    "Name": "Ana Trujillo Emparedados y helados",
                    "City": "México D.F.",
                    "Country": "Mexico",
                    "id": 5
                }
            ];
            
            $scope.toggleSort = function(){
                $scope.sortIsAsc = !$scope.sortIsAsc;
                $scope.obj.sort(function(a, b){
                    if($scope.sortIsAsc){
                        if (a.id < b.id) {
                            return -1;
                        }
                        if (a.id === b.id) {
                            return 0;
                        }
                        return 1;
                    }
                    if (a.id > b.id) {
                        return -1;
                    }
                    if (a.id === b.id) {
                        return 0;
                    }
                    return 1;
                });
            };
    });
</script>
習慣沉默

Anda boleh menggunakan perintah penapisBy:'id':desc untuk mengawal sama ada pengisihan adalah dalam tertib menaik atau menurun.
Kod berikut lebih mudah difahami jika anda membacanya dalam susunan 3-2-1.
1. Klik sekali untuk menukar desc

<th ng-click="desc=!desc">序号</th>

2. Tetapkan nilai permulaan desc=0 dalam appController

$scope.desc = 0;

3. Tambahkan syarat pengisihan dalam penapis

<tr ng-repeat="x in obj | orderBy: 'id':desc">
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan