javascript - 如何在这个 vuejs 示例中创建一个 href 条件?
问题描述
所以在下面的例子中 - gitHublink 返回一个存储库的 url。问题是 N/A 有一个指向 N/A 的 href 链接。
在模板中:
<td :style=tdStyle v-if="githubLink === 'N/A'"> no url found </td>
<template :v-else>
<td :style=tdStyle><a v-bind:href="[[ githubLink ]]">[[ githubLink ]]</a></td>
</template>
计算方法:
githubLink() {
returnVar = 'N/A'
this.job.forEach(obj =>
obj.env_vars.forEach(var_set => {
if (var_set.name.name == 'url') {
returnVar = 'https://github.corp.test.com/'+var_set.value.value
}
}
))
return returnVar;
},
如果没有找到 url,我该怎么做才能没有 href 链接?
解决方案
如果我理解你的问题是正确的,你想显示No url found
,如果 github 链接是null
或者undefined
(在你的情况下你将默认设置为N/A)否则显示链接a
。
为此,您可以做的是使用条件渲染v-else
如文档中所见,您可以使用v-if
和定义您的模板v-else
。(即)使用 v-if 检查 githublink 是否等于N/A
显示未找到 url,类似于
<td :style=tdStyle>
<div v-if="githublink === 'N/A'"> no url found />
<div v-else>
<a :href="githubLink">{{githubLink}}</a></td>
</div>
</td>
还有额外的不请自来的提示,您可能还想检查 ifvar_set.value
条件中是否存在。您的数据可能定义明确,并且如果url
存在,则可能值也可用,但最好是安全的
编辑 - 基于 o/ps 的注释/需要使用模板
因此,如果您要使用模板,它将如下所示,但请记住 atemplate
用于包装多个元素,基于此处if-else
的文档中所见,这意味着可以切换多个元素。
<template v-if="githublink === 'N/A'">
<td :style=tdStyle> <strong> no url found </strong> </td>
</template>
<template v-else>
<td :style=tdStyle>
<a :href="githubLink">{{githubLink}}</a>
</td>
</template>
推荐阅读
- c++ - 并行打印双精度向量到文件(C++,OpenMP)
- java - Android/Java - MySQL 数据库的 DateTime 属性
- automation - 如何使用 G1ANT 中称为“环境”的功能保存到不同的驱动器?
- regexp-replace - 正则表达式替换:删除有条件的属性
- sql - 微服务模式和用户的数据库最佳实践是什么
- java - Apache POI 4 - 创建带有多个空单元格的 LINE 图表
- python-3.x - 如何在数据框的列上应用断言函数?
- python - 读取矩形/texbox的轮廓颜色
- java - 如何在 java fx 上加载自定义字体
- pandas - 如何在数据框中转换具有特殊格式的列