typescript 三进制条件在innerHTML中不起作用

omhiaaxx  于 2023-02-17  发布在  TypeScript
关注(0)|答案(4)|浏览(129)

我有这个密码

{{ Name && Name.length > 20 ? (Name | slice: 0:20) + "..." : Name }}

这是在div中工作的,但是当我尝试在innerHTML中使用它时,它给出了语法错误

<div [innerHTML]='Name && Name.length > 20) ? "(Name| slice: 0:20 + "..."" : "Name"'>

</div>

请提供解决方案。

rqqzpn5f

rqqzpn5f1#

您是否使用了[innerHTML] ='名称&&名称.长度〉20)?“(名称|切片:0:20 +“..."”:“姓名”
这里把开和关放错了地方,你还把名字用双引号括起来。
所以请检查下面的代码。

<div [innerHTML]='Name && Name.length > 20 ? (Name | slice: 0:20) + "..."  : Name'>
gywdnpxw

gywdnpxw2#

你的代码和你的html有很多不匹配的地方,我猜是被引号冲昏了头脑;-)

<div [innerHTML]='Name && Name.length > 20 ? (Name | slice: 0:20) + "..." : Name'>

</div>

减少

Name ="KJLFHSLKJDFLJKSDHFJKLSKJLDFHJKLSHJDKLHFSK"

KJLFHSLKJDFLJKSDHFJK...
4xy9mtcn

4xy9mtcn3#

您没有正确关闭括号,这应该是正确的代码

<div [innerHTML]="Name && Name.length > 20 ? '(Name| slice: 0:20) + "..."" : 'Name' ">

</div>
ktca8awb

ktca8awb4#

我认为除了已经建议的内容外,还有一个括号缺失。代码应该如下所示:

<div [innerHTML]=" Name && (Name.length > 20 ? (Name.slice(0,20) + '...') : Name) "></div>

相关问题