如何在列表中生成动态 url?

Posted

技术标签:

【中文标题】如何在列表中生成动态 url?【英文标题】:How can I generate dynamic url in a list? 【发布时间】:2021-11-21 08:46:19 【问题描述】:

我从后端得到一个列表:

[

'name': 'nameA',
'codename': 'codenameA'
,

'name': 'nameB',
'codename': 'codenameB'
,

'name': 'nameC',
'codename': 'codenameC'

我的目标是使用 VueJS 显示带有 http://myurl/owner/edit/$ owner.codename 之类的 url 的 owner.name 列表。

目前我的代码是:

<template>
<div class="container my-3">
  <div class="row">
    <div class="col-8">
      <ul v-for="owner in this.databaseOwners" :key="owner.name" class="list-group">
        <li class="list-group-item">
          <a href=`"localhost:8080/admin/owner/$ owner.codename "` target="_blank" rel="noreferrer noopener"> owner.name </a>
        </li>
      </ul>
    </div>
  </div>
</div>
</template>

但它不起作用,在我的情况下如何使用动态 URL?我真的是前端新手,所以如果我的问题看起来很琐碎,我很抱歉。

【问题讨论】:

【参考方案1】:

这可能有效

<a :href="'localhost:8080/admin/owner/'+owner.codename " target="_blank" rel="noreferrer noopener"> owner.name </a>

【讨论】:

引发语法错误invalid expression: Unexpected token '' in 'localhost:8080/admin/owner/'+ owner.codename 必须删除花括号【参考方案2】:

这行得通:&lt;a :href="'/admin/owner/' + owner.codename"&gt; owner.name &lt;/a&gt;

【讨论】:

是的,这也有效。 :)【参考方案3】:

试试这个:

在你的 Vue 组件的 methods 属性下创建一个新方法:

methods: 
    url(codename) 
        return `/admin/owner/$codename`;
    

并像这样使用它:

<a :href="url(owner.codename)">...</a>

注意冒号:

:href

这意味着它将尝试将 href 属性绑定到来自 Vue 组件的某个变量/方法/计算属性

【讨论】:

以上是关于如何在列表中生成动态 url?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 django 中生成 url

如何在邮件模板中生成正确的 URL?

如何在访问报告中生成列表?

在控制器中生成有效的hdiv url

如何在 Joomla 中生成友好的 url?

如何在 Webpack 中生成动态导入块名称