如何使用* ngIf条件在角度中显示默认空值按钮,用于使用Mysql Node.js进行* ngFor循环内的类似,不喜欢和默认按钮
嗨,我想尝试制作喜欢,不喜欢和默认按钮系统,如YouTube,但我得到错误,当我使用默认按钮前两个条件(如,不喜欢)工作正常,但我无法显示默认按钮时有在MySQL表中没有值。这里我使用了两个表帖子(post_id,user_id,description),喜欢(like_id,user_id,post_id,like_status)列值。
<div class="container" *ngFor="let post of posts; let i = index">
<div class="
row" style="border: 1px solid #e6e6e6;">
<div class="col-md-12 col-md-offset-0" style=" height: auto; ">
<h6> {{post.description}} </h6>
</div>
</div>
<div class="row">
<!--like button-->
<div class="col-md-3">
<div *ngFor="let like of postLikes; let j = index ">
<div
*ngIf="( (postLikes != '') && (like.like_id != null) && (like.like_id != '') && (post.user_id == like.user_id) && (post.post_id == like.post_id) && (like.like_status == 'like'))">
<button type="button" class="btn btn-success" (click)=likeSubmit(post.user_id,post.post_id)><i
class="fa fa-thumbs-up" aria-hidden="true"></i></button>{{like.user_id}},{{like.post_id}}
{{post.post_id}} {{like.like_id}}
</div>
<div
*ngIf="( (like.like_id) && (like.like_id != null) && (like.like_id != '') && (post.user_id == like.user_id) && (post.post_id == like.post_id) && (like.like_status == 'unlike'))">
<button type="button" class="btn btn-warning" (click)=likeSubmit(post.user_id,post.post_id)><i
class="fa fa-thumbs-up" aria-hidden="true"></i></button>{{like.user_id}},{{like.post_id}}
{{post.post_id}} {{like.like_id}}
</div>
<div
*ngIf=" (post.user_id !=like.user_id) && (!like.like_id) && (postLikes == '') && (like.like_id == null) && (like.like_id == '')">
<button type="button" class="btn btn-basic" (click)=likeSubmit(post.user_id,post.post_id)><i
class="fa fa-thumbs-up" aria-hidden="true"></i></button>{{like.user_id}},{{like.post_id}}
{{post.post_id}} {{like.like_id}}
</div>
</div>
</div>
回答如下:
你为什么不把逻辑移到组件源代码?应该在组件中创建变量,在组件文件中很容易调试。
( (postLikes != '') && (like.like_id != null) && (like.like_id != '')
&& (post.user_id == like.user_id)
&& (post.post_id == like.post_id) && (like.like_status == 'like'))