Я могу успешно связать ссылки с тегами A, но, похоже, мои условия не нравятсяМое намерение - «НЕ связывать атрибут href, если pageName === item.name
».Так или иначе, если я не напишу что-то вроде :href="pageName === item.name ? 'some text here' : item.link"
, он всегда будет отображать href.
Например, если pageName = 'listing'
, я ожидаю <a href=""></a>
, но вместо этого получаю <a href="/listing"></a>
.Не уверен, какую часть я сделал неправильно.
В идеале, я бы ожидал <a></a>
, если pageName = 'listing'
, но я не знаю, как этого добиться.Заранее спасибо.
var globalNav = {
props: ['pageName'],
template: `<div id="global-nav">
<a
class="nav-item"
v-for="(item, i) in items"
:key="i + 1"
:active="pageName === item.name"
:href="pageName === item.name ? '' : item.link"
>
<i :class="item.icon"></i>
<div class="tooltip">
<div class="arrow"></div>
{{ item.title }}
</div>
</a>
</div>`,
data() {
return {
items: [
{
title: 'Dashboard',
icon: 'icon-home',
link: '/',
name: 'dashboard'
},
{
title: 'Listing',
icon: 'icon-listing',
link: '/listing',
name: 'listing'
},
{
title: 'Import',
icon: 'icon-stackoverflow',
link: '/import',
name: 'import'
},
{
title: 'Settings',
icon: 'icon-cog',
link: '/settings',
name: 'settings'
},
]
};
}
};
var header = new Vue({
el: '#header',
components: {
'global-nav': globalNav
},
data: {
pageName: pageName
},
methods: {
}
});