Angular Mat Sort赢得';当表位于经过身份验证的模板内时,不能进行排序
我有一个表,数据来自firebase数据库。我遇到的问题是在使用身份验证时对表进行排序。我在两个stackblitz项目上建立了这个网站,一个有认证,一个没有认证。已验证站点的登录信息:用户名为“test@test.com密码为“asdfjkl;” 当您登录到经过身份验证的站点时,您将看到排序不起作用,直到您单击sortenable按钮,该按钮将重新运行代码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; 然后分类工作非常好 未经认证的站点(立即进行排序): 需要您登录的站点
this.dataSource.sort=this.sort;
然后分类工作非常好
未经认证的站点(立即进行排序):
需要您登录的站点(在单击“排序启用”按钮之前,排序将不起作用):
我做错了什么?我不希望用户必须单击按钮才能启用排序。谢谢,我怀疑的是: 由于
,@ViewChild(MatSort)排序:MatSort代码>未获取元素。
(它不在DOM中,例如分页)
您可以做什么:
更简单但不干净:只需隐藏表格(显示:无),而不是
好,但更复杂:
您为登录定义一个路由,该路由将重定向到另一个连接成功的路由。在这个路由的组件中,您将拥有您的表。好的,将其更改为在其自己的组件中拥有表,并使用路由保护(我现在正在学习这样做)。一旦用户登录,它将转到该组件。谢谢你Wandrille想让你知道我做了你建议的路线选择。分类效果很好。我的ng模板肯定有问题。非常感谢。