当表格在经过身份验证的模板中时,Mat-Sort无法排序

时间:2019-03-17 16:07:11

标签: angular firebase firebase-authentication google-cloud-firestore angular-material

我有一张桌子,数据来自一个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

我在做什么错?我不希望用户必须单击按钮来启用排序。谢谢

1 个答案:

答案 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;

好,但更复杂

您为登录定义了一条路由,它将通过成功连接重定向到另一条路由。在此路线的组成部分中,您将有自己的桌子。