Javascript 单击表格标题对行进行排序

Javascript 单击表格标题对行进行排序,javascript,html,angularjs,Javascript,Html,Angularjs,我是angular js的新手,老实说,我只知道前同事告诉我的关于他转交给我的项目的情况 我使用forkJoin从数据库中获取数据,因为我需要使用两组不同的数据在web上创建一个表。我需要在同一个网页上调用其他数据表。所以,我的同事推荐使用forkJoin,而使用ngOnInit()则很麻烦,因为并非所有数据都同时到达 从()开始,我发现在*.ts文件中使用了$scope和angular.module,在*.html文件中使用了orderBy和ng repeat。我试图让它工作,但这个例子似乎是

我是angular js的新手,老实说,我只知道前同事告诉我的关于他转交给我的项目的情况

我使用forkJoin从数据库中获取数据,因为我需要使用两组不同的数据在web上创建一个表。我需要在同一个网页上调用其他数据表。所以,我的同事推荐使用forkJoin,而使用ngOnInit()则很麻烦,因为并非所有数据都同时到达

从()开始,我发现在*.ts文件中使用了$scopeangular.module,在*.html文件中使用了orderByng repeat。我试图让它工作,但这个例子似乎是使用硬编码表,而不是从数据库调用数据。另外,当使用ng repeat时,以下代码似乎无法识别ng repeat

<tr ng-repeat="data in myTable|orderBy:'index':false">
   <ng-container *ngIf="someConditions">
      <td>{{ data.index }}</td> //data not recognized
   </ng-container>
</tr>
进入*.ts文件?

尝试使用此

<tr ng:repeat="row in body.$orderBy(sort.column, sort.descending)">
    <td>{{row.a}}</td>
    <td>{{row.b}}</td>
    <td>{{row.c}}</td>
</tr>

scope.sort = {
    column: 'b',
    descending: false
};

scope.selectedCls = function(column) {
    return column == scope.sort.column && 'sort-' + scope.sort.descending;
};

scope.changeSorting = function(column) {
    var sort = scope.sort;
    if (sort.column == column) {
        sort.descending = !sort.descending;
    } else {
        sort.column = column;
        sort.descending = false;
    }
};

{{row.a}}
{{row.b}}
{{row.c}}
scope.sort={
列:“b”,
降序:假
};
scope.selectedCls=函数(列){
返回列==scope.sort.column&“sort-”+scope.sort.descending;
};
scope.changeSorting=函数(列){
var sort=scope.sort;
if(sort.column==列){
sort.descending=!sort.descending;
}否则{
sort.column=列;
sort.descending=false;
}
};
尝试使用此

<tr ng:repeat="row in body.$orderBy(sort.column, sort.descending)">
    <td>{{row.a}}</td>
    <td>{{row.b}}</td>
    <td>{{row.c}}</td>
</tr>

scope.sort = {
    column: 'b',
    descending: false
};

scope.selectedCls = function(column) {
    return column == scope.sort.column && 'sort-' + scope.sort.descending;
};

scope.changeSorting = function(column) {
    var sort = scope.sort;
    if (sort.column == column) {
        sort.descending = !sort.descending;
    } else {
        sort.column = column;
        sort.descending = false;
    }
};

{{row.a}}
{{row.b}}
{{row.c}}
scope.sort={
列:“b”,
降序:假
};
scope.selectedCls=函数(列){
返回列==scope.sort.column&“sort-”+scope.sort.descending;
};
scope.changeSorting=函数(列){
var sort=scope.sort;
if(sort.column==列){
sort.descending=!sort.descending;
}否则{
sort.column=列;
sort.descending=false;
}
};

谢谢您的帮助!但是,为了澄清,1)ng:重复可以代替ng重复?2) scope.sort/scope。selectedCls/scope.changeSorting是否在作用域前面都有$?这些都在.ts文件中?根据角度的版本不同,但做的事情相同我尝试了你的方法,但仍然是ng:重复给出了相同的问题,范围(使用时不带$)给出了错误。我必须在forkJoin中使用scope吗?还是出口舱?还是构造器?谢谢你的帮助!但是,为了澄清,1)ng:重复可以代替ng重复?2) scope.sort/scope。selectedCls/scope.changeSorting是否在作用域前面都有$?这些都在.ts文件中?根据角度的版本不同,但做的事情相同我尝试了你的方法,但仍然是ng:重复给出了相同的问题,范围(使用时不带$)给出了错误。我必须在forkJoin中使用scope吗?还是出口舱?还是构造函数??