Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
Angular Mat Sort赢得';当表位于经过身份验证的模板内时,不能进行排序_Angular_Firebase_Firebase Authentication_Google Cloud Firestore_Angular Material - Fatal编程技术网

Angular Mat Sort赢得';当表位于经过身份验证的模板内时,不能进行排序

Angular Mat Sort赢得';当表位于经过身份验证的模板内时,不能进行排序,angular,firebase,firebase-authentication,google-cloud-firestore,angular-material,Angular,Firebase,Firebase Authentication,Google Cloud Firestore,Angular Material,我有一个表,数据来自firebase数据库。我遇到的问题是在使用身份验证时对表进行排序。我在两个stackblitz项目上建立了这个网站,一个有认证,一个没有认证。已验证站点的登录信息:用户名为“test@test.com密码为“asdfjkl;” 当您登录到经过身份验证的站点时,您将看到排序不起作用,直到您单击sortenable按钮,该按钮将重新运行代码 this.dataSource.sort=this.sort; 然后分类工作非常好 未经认证的站点(立即进行排序): 需要您登录的站点

我有一个表,数据来自firebase数据库。我遇到的问题是在使用身份验证时对表进行排序。我在两个stackblitz项目上建立了这个网站,一个有认证,一个没有认证。已验证站点的登录信息:用户名为“test@test.com密码为“asdfjkl;”

当您登录到经过身份验证的站点时,您将看到排序不起作用,直到您单击sortenable按钮,该按钮将重新运行代码

this.dataSource.sort=this.sort;
然后分类工作非常好

未经认证的站点(立即进行排序):

需要您登录的站点(在单击“排序启用”按钮之前,排序将不起作用):


我做错了什么?我不希望用户必须单击按钮才能启用排序。谢谢,

我怀疑的是:

由于
@ViewChild(MatSort)排序:MatSort未获取元素。
(它不在DOM中,例如分页)

您可以做什么:

更简单但不干净:只需隐藏表格(显示:无),而不是

好,但更复杂


您为登录定义一个路由,该路由将重定向到另一个连接成功的路由。在这个路由的组件中,您将拥有您的表。

好的,将其更改为在其自己的组件中拥有表,并使用路由保护(我现在正在学习这样做)。一旦用户登录,它将转到该组件。谢谢你Wandrille想让你知道我做了你建议的路线选择。分类效果很好。我的ng模板肯定有问题。非常感谢。