angular - 锚标记href中带有三元运算符的条件url抛出Parse Error Angular
问题描述
美好的一天开发者。我正在尝试在 html 模板中为我的锚标记 href 动态设置 URL,但我收到此错误:
Parser Error: Got interpolation ({{}}) where expression was expected at column 30 in
[somevariable?['/somelink/{{ some.id }}?someparam={{ paramid }}&origin=origin']:'']
如果某些布尔类型的随机变量具有真值,则 href 将重定向到 URL,因此:
<a [href]="(somevariable)?('/somelink/{{ some.id }}?someparam={{ paramid }}&origin=origin'):''">
</a>
有更好的方法吗?...在此先感谢
解决方案
您可以将插值更改为:
<a href="{{ somevariable ? '/somelink/' + some.id + '?someparam=' + paramid + '&origin=origin' : '' }}">
somevariable
但如果为假,您的锚标签可能最终没有链接。因此,我建议您改为使用以下方法隐藏该实例中的锚标记*ngIf
:
<a *ngIf="somevariable" href="{{ '/somelink/' + some.id + '?someparam=' + paramid + '&origin=origin' }}">
此外,我建议您routerLink
改用href
if /somelink/...
is a route in your app,这样当用户点击(点击)链接时,您的应用不会重新加载。
推荐阅读
- python - 打印冰糕口味
- node.js - OAuth 1.0 将 Consumer Secret 转换为 oauth_signature
- java - 基于 Java 的配置在 Spring MVC 中究竟是如何工作的
- angular - 使用 /assets 文件夹在 URI 中提供 Angular
- wso2 - 在调用期间附加到 endoint 的 url-mapping 或 uri-template 值
- python - 为什么我的 python 键盘记录器没有记录任何键?
- javascript - 使用内容缩放 Div 以适应视口
- http - 客户端超时的http请求会发生什么?
- bash - Bash/unix,如何将所有内容(文件/子目录)从一个文件夹复制到另一个文件夹并保持文件夹结构
- java - 通过匿名类使用线程时隐式转换为可运行接口?