我有一个表,数据来自firebase数据库。我遇到的问题是在使用身份验证时对表进行排序。我在两个stackblitz项目上构建了这个站点,一个有一个,一个没有认证。经过身份验证的站点的登录信息:用户名为“[email protected]”,密码为“asdfjkl”;
当您登录到经过身份验证的站点时,您将看到排序不起作用,直到您单击sortenable按钮,该按钮重新运行代码
this.dataSource.sort=this.sort;
然后排序很有效。
没有认证的网站(排序工作直接):https://stackblitz.com/edit/angular-sort-help-noauth
需要您登录的站点(在单击排序启用按钮之前排序将不起作用):https://stackblitz.com/edit/angular-sort-help
我究竟做错了什么?我不希望用户必须单击按钮才能启用排序。谢谢,
我怀疑的是以下内容:
由于<ng-template>
,@ViewChild(MatSort) sort: MatSort;
没有获得元素。 (它不在DOM中。例如,这可以通过分页来实现)。
你可以做什么:
更容易但不干净:只需隐藏表格(显示:无)而不是<ng-template>
好,但更复杂:
您为登录定义了一条路由,该路由将重定向到具有成功连接的另一条路由。在这条路线的组成部分,你将有你的桌子。