【发布时间】:2017-06-01 20:49:14
【问题描述】:
我是 Vue 的新手,我想弄清楚如何根据链接点击呈现动态内容。我收到一条错误消息:属性或方法“setLink”未在实例上定义,但在渲染期间被引用。确保在 data 选项中声明响应式数据属性。
这是我的 VUE 代码:
Vue.component('navigation', {
template: '#navigation'
})
Vue.component('home', {
template: '#home'
})
Vue.component('about', {
template: '#about'
})
var app = new Vue({
el: '#app',
component: {
navigation
},
data: {
currentView: 'home'
},
methods: {
setLink: function(link) {
this.currentView = link;
}
}
})
我有 id 为 app 的 div:
<div id="app">
<navigation></navigation>
<div class="container">
<componet :is="currentView"></component>
</div>
</div>
在导航中,我有一个带有 v-on:click="setLink('someLink')" 功能的标签。也许有人知道问题出在哪里?谢谢
【问题讨论】:
-
您需要在您的
navigation组件中定义一个setLink方法。即使该组件的标签在#app 中,它也没有引用主#app 组件的方法
标签: navigation vue.js vuejs2