这是HTML。
<navlink v-bind:href="#about">About</navlink>
主要的代码在 main.js 文件中
Vue.component('navlink', {
template: '<li class="item"><a><slot></slot></a></li>'
});
但是我遇到了错误
[Vue 警告]: 编译模板失败: - 无效表达式: v-bind:href="#about"
如何修复这个问题?
这是HTML。
<navlink v-bind:href="#about">About</navlink>
主要的代码在 main.js 文件中
Vue.component('navlink', {
template: '<li class="item"><a><slot></slot></a></li>'
});
但是我遇到了错误
[Vue 警告]: 编译模板失败: - 无效表达式: v-bind:href="#about"
如何修复这个问题?
v-bind
希望您指向父类的data
中的一个对象,而您正在尝试使用字符串文字,因此Vue会抛出错误,因为它找不到具有该键的对象。href
作为组件的一个prop传递,这样您就可以得到:Vue.component('navlink', {
template: '<li class="item"><a :href="href"><slot></slot></a></li>',
props: ['href']
});
<navlink href="#about">About</navlink>
这是JSFiddle链接:https://jsfiddle.net/ov94tg5z/
尝试添加更多引号)
<navlink v-bind:href="'#about'">About</navlink>
好的,我已经成功解决了它...像这样... HTML
<navlink href="#about">About</navlink>
还有JS
Vue.component('navlink', {
template: '<a class="item"><slot></slot></a>'
});
Vue.component('navlink', { template: '<li class="item"><a><slot></slot></a></li>' });
然后生成的 HTML 是 <li href="#about"><a class="item">关于我们</a></li>
。 - anoop chandran