我有一张桌子,数据来自一个Firebase数据库。使用身份验证时,我遇到的问题是对表格进行排序。我在两个stackblitz项目上构建了该站点,其中一个带有认证,另一个没有认证。认证站点的登录信息:用户名是“ test@test.com”,密码是“ asdfjkl;”
登录到经过身份验证的站点时,您将看到排序不起作用,直到您单击sortenable按钮,该按钮才能重新运行代码
this.dataSource.sort=this.sort;
然后排序效果很好。
未经身份验证的网站(排序立即生效): https://stackblitz.com/edit/angular-sort-help-noauth
需要您登录的站点(在单击排序启用按钮之前,排序将不起作用): https://stackblitz.com/edit/angular-sort-help
我在做什么错?我不希望用户必须单击按钮来启用排序。谢谢
答案 0 :(得分:1)
我怀疑以下内容:
由于var array1 = ['1', '2', '3', '4'],
array2 = ['2', '1', '4', '1'],
i,
counter = 0;
for (i = 0; i < array1.length; i++) {
if (+array1[i] > +array2[i]) {
counter++;
}
}
console.log(counter);
,<ng-template>
没有获得元素。
(它不在DOM中。例如发生在分页中。)
您可以做什么:
更简单但不干净:仅隐藏表格(显示:无),而不是@ViewChild(MatSort) sort: MatSort;
好,但更复杂:
您为登录定义了一条路由,它将通过成功连接重定向到另一条路由。在此路线的组成部分中,您将有自己的桌子。