我是Angular的新手。我正在学习指令。我正在使用pTooltip
中的primeng
。但是我想根据条件在pTooltip中显示文本。
让我们以stackoverflow iself为例。您不能两次回答一个答案。如果用户尚未对该特定文章进行投票,则该用户应获得msg1,否则应获得msg2。其中:
msg1="I found this article very useffeul.";
msg2="You've already upvoted this article";
这是我的代码:
article.component.html
<button
class="btn btn-success"
*ngIf="allowUpvote ? pTooltip={{msg1}} : pTooltip={{msg2}}
[disabled]="!allowUpvote">
UPVOTE
</button>
article.component.ts
...
allowUpvote=true;
msg1="I found this article very useffeul.";
msg2="You've already upvoted this article";
...
ngOnInit() {
for(var i=0;i<5;i++) {
if(this.currentLoggedInUserId==this.articleDetails.upvotersList[i]) {
this.allowUpvote=false; //It will be set false if the user is there in the upvoters list
}
}
});
但是我遇到了这个错误:
解析器错误:绑定不能包含[allowUpvote吗? pTooltip = {{msg1}}:pTooltip = {{msg2}}]
请给我一些指导。
答案 0 :(得分:4)
尝试一下
if (remainderX <= minWidthX)
{
fragColor = vec4(color_l1, 1.0);
return;
}
vec3 dyY = dFdy(vec3(0, vertexPosition.y, vertexPosition.z));
vec3 dxY = dFdx(vec3(0, vertexPosition.y, vertexPosition.z));
使用[],解释器知道读取和执行“”之间的代码
已更新,Plochie
可以更好地解释当您说pTooltip =“ value”时,表示将“”中提供的值用作pTooltip的参数。在这里,您没有绑定component的值,只是给了常量。要进行数据绑定,您需要[]。现在,在[]之后,意味着将用“ Tools”编写的内容与pTooltip绑定,因此它将执行“”中的代码,并且该语句的输出随后将被视为pTooltip的输入
答案 1 :(得分:3)
应该是
[pTooltip]="(allowUpvote) ? msg1 : msg2"
编辑:因此,这意味着您应该抛弃* ngIf,在这种情况下不需要它。