Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS只需单击一下即可对两个表进行排序_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS只需单击一下即可对两个表进行排序

Javascript AngularJS只需单击一下即可对两个表进行排序,javascript,angularjs,Javascript,Angularjs,我在一个有角度的页面上有两个表格,都有可点击的标题进行排序。不知何故,单击任一表中的标题会对两个表进行排序,即使它们具有不同的列名和不同的“orderByField”变量 第一张表: <table class="table table-striped table-bordered table-hover" style="width: 100%;"> <thead> <tr> <th class="click

我在一个有角度的页面上有两个表格,都有可点击的标题进行排序。不知何故,单击任一表中的标题会对两个表进行排序,即使它们具有不同的列名和不同的“orderByField”变量

第一张表:

<table class="table table-striped table-bordered table-hover" style="width: 100%;">
    <thead>
        <tr>
            <th class="clickable colored_text span7 textLeft" ng-click="flagOrderByField='FlagName'; reverseSort = !reverseSort">Flag Name</th>
            <th class="clickable colored_text span2 textLeft" ng-click="flagOrderByField='DateAdded'; reverseSort = !reverseSort">Date Added</th>
            <th class="clickable colored_text span2 textLeft" ng-click="flagOrderByField='Expires'; reverseSort = !reverseSort">Expires</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="flag in FlagList | orderBy:flagOrderByField:reverseSort" style="border-top: 1px dashed rgb(200, 200, 200);">
            <td ng-class="flag.SystemFlag ? 'text-error' : 'text-success'">{{::flag.FlagName}}</td>
            <td>{{::flag.DateAdded | date:'MM/dd/yyyy' }}</td>
            <td>{{::flag.Expires | date:'MM/dd/yyyy' }}</td>
        </tr>
    </tbody>
</table>

旗名
添加日期
到期
{{::flag.FlagName}
{{::flag.DateAdded}日期:'MM/dd/yyyy'}
{{::flag.Expires}日期:'MM/dd/yyyy'}
第二张表:

<table class="table table-striped table-bordered table-hover">
    <thead>
        <tr>
            <th class="clickable colored_text" ng-click="orderByField='CourseNumber'; reverseSort = !reverseSort">Course #</th>
            <th class="clickable colored_text" ng-click="orderByField='ClassName'; reverseSort = !reverseSort">Course Name</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="class in classes | orderBy:orderByField:reverseSort | startAt:(currentPage-1)*pageSize | limitTo:pageSize">
            <td>{{::class.CourseNumber }}</td>
            <td>{{::class.ClassName }}</td>
        </tr>
    </tbody>
</table>

课程#
课程名称
{{::class.CourseNumber}
{{::class.ClassName}

我怎样才能让这两张表分别排序?(本页还有一堆其他表,在单击选项卡时加载的选项卡中,所有这些表都具有相同的奇怪行为。)

Aha-通过快速直观,我注意到两个表使用了相同的“reverseSort”变量。我将第一个表的值更改为“flagReverseSort”,并将controllers.js中的默认值设置为false;瞧!这是它应该做的。因此,表不仅需要它们自己的orderBy变量,还需要它们自己的、唯一的reverseSort变量。

最好对每个表使用隔离作用域指令。这样,您可以在必要时重用它们,并且不必更改变量名以避免冲突。