Angular 根据前端状态设置角度记录的样式
在我的Angular前端应用程序中,我有一个通过Angular 根据前端状态设置角度记录的样式,angular,ng-class,Angular,Ng Class,在我的Angular前端应用程序中,我有一个通过*ngFor显示的记录列表,如下所示: <tr *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }"> 该列表显示特定状态的记录。因此,我有一个记录网格视图,其中状态等于处理,另一个状态等于完成,等等 我们现在有了一个新的规范,在第一次单击记录之前,它应该在网格视图
*ngFor
显示的记录列表,如下所示:
<tr *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }">
该列表显示特定状态的记录。因此,我有一个记录网格视图,其中状态
等于处理
,另一个状态
等于完成
,等等
我们现在有了一个新的规范,在第一次单击记录之前,它应该在网格视图中以粗体显示。换句话说,如果我将记录的状态
从处理
更改为完成
,那么在我的状态的网格视图中:完成
记录,表示新记录的行应该具有粗体样式,直到用户第一次单击该记录。从那时起,网格视图应该像其他记录一样显示该记录,并将font-weight
设置为normal
我知道对于像角度形状这样的东西,可以使用markAsPristine()
和markAsTouched()
根据需要设置输出样式。但是在这样的网格视图中,我该如何处理这个问题呢?澄清一下,这里没有我可以依赖的数据库属性。这只需要依赖前端属性和状态
还有一个附加要求:这需要适用于所有前端用户。这是一个内部应用程序。所以我们有几个人在查看网格列表。如果一个用户单击一条记录,那么所有用户随后都会在网格视图中看到该记录未绑定。你知道我怎样才能做到这一点吗?你需要一个样式绑定。
You need a style binding.
<tr *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }"
[style.font-weight]="record?.status === 'processing' ? '300' : 'bold'">
</tr>
您也可以尝试*ngIf=“”
您需要样式绑定。
您也可以尝试*ngIf=“”
您可以在记录中添加属性(例如:wasClickedFirsTime),您可以执行以下操作:
<tr (click)="record.wasClickedFirsTime = true" [ngClass]="{'is-bold': !record.wasClickedFirsTime}" *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }">
您可以在记录中添加属性(例如:wasClickedFirsTime),您可以执行以下操作:
<tr (click)="record.wasClickedFirsTime = true" [ngClass]="{'is-bold': !record.wasClickedFirsTime}" *ngFor="let record of records | paginate: { id: 'customers', itemsPerPage: 12, currentPage: getPageNumber() }">
我们现在有了一个新的规范,在第一次单击>之前,记录应该在网格视图中以粗体显示
那个很简单。您可以向记录
集合的元素添加布尔单击的
属性,或者将单击元素的ID存储在数组中,以您认为更整洁的为准
还有一个附加要求:这需要适用于所有前端用户。这是一个
内部应用程序。所以我们有几个人在查看网格列表。如果一个用户点击
在一条记录上,所有用户随后都应该在
网格视图
这是一个棘手的问题。我能想到的唯一答案是WebRTC。我相信它满足了以下要求:无需服务器参与的客户端到客户端的通信
检查是否有类似的情况
我会为你工作的
但是:如果Alice现在单击项目1
,Bob在一小时后登录并在单击时看到项目1
,我认为如果服务器端不提供持久性,这是不可能做到的
我们现在有了一个新的规范,在第一次单击>之前,记录应该在网格视图中以粗体显示
那个很简单。您可以向记录
集合的元素添加布尔单击的
属性,或者将单击元素的ID存储在数组中,以您认为更整洁的为准
还有一个附加要求:这需要适用于所有前端用户。这是一个
内部应用程序。所以我们有几个人在查看网格列表。如果一个用户点击
在一条记录上,所有用户随后都应该在
网格视图
这是一个棘手的问题。我能想到的唯一答案是WebRTC。我相信它满足了以下要求:无需服务器参与的客户端到客户端的通信
检查是否有类似的情况
我会为你工作的
但是:如果Alice现在点击项目1
,Bob在一小时后登录并在点击时看到项目1
,我认为如果服务器端不提供持久性,这是不可能的。我想你误解了这个问题。给我看看json模式,这会有什么帮助?再次澄清,挑战不是显示具有特定“状态”的记录。那部分已经完成了。问题是在前端列表视图中对那些尚未单击的记录进行粗体样式设置。Re:The*ngIf
,“某些条件”指的是什么?同样,这也是一个挑战。首先,我不为你工作,其次,让我看看你有什么和你想要什么,(一个图像,一段拉伸,什么)通过准确地展示你想要看到的,在这里讲述你所有的故事会更有帮助。我想你误解了这个问题。让我看看json模式。这会有什么帮助?再次澄清,挑战不是显示具有特定“状态”的记录。那部分已经完成了。问题是在前端列表视图中对那些尚未单击的记录进行粗体样式设置。Re:The*ngIf
,“某些条件”指的是什么?同样,这也是一个挑战。首先,我不为你工作,其次,向我展示你拥有的和你想要的,(一张图片,一段拉伸,等等)通过准确地展示你想要看到的,在这里讲述你所有的故事会更有帮助。你是否建议我实际将此属性添加到数据库中的记录中,或者以某种方式仅将其存储在前端状态?如果希望所有用户都能在线反映更改,我认为有必要将此属性添加到数据库中的记录中。我看不出另一种方式,但其他用户怎么能发现呢?这就是我想弄明白的。但是,据我所知,纯粹为了前端导航而向数据库记录中添加属性将被视为不好的做法。没关系
.is-bold {
font-weight : bold
}