【发布时间】:2017-06-27 23:24:06
【问题描述】:
在我的 vue 应用程序中,我在单击事件上调用了一个函数,该函数位于一个组件中。下面是组件代码:
Vue.component( 'new-board', {
template: `
<div>
<br/>
<div class="panel panel-primary">
<div class="panel-heading">
Create New Board
</div>
<div class="panel-body">
<input class="form-control" placeholder="Board Name"/>
<button
style="margin-top: 5px;"
@click.stop="addBoard"
class="btn btn-success btn-xs btn-block"
>
Add Board
</button>
</div>
</div>
</div>
`
} )
这里是 vue 应用实例:
var boardItem = new Vue( {
el: "#board-item",
data: {
boards: [
{ name: 'learning vue 2' }
],
newBoard: [],
viewNewBoard: true
},
methods: {
displayNewBoard: function() {
event.preventDefault()
if( this.viewNewBoard == false ) {
this.viewNewBoard = true
} else {
this.viewNewBoard = false
}
},
addBoard: function() {
console.log( 'add board' )
}
}
} )
现在,当我点击上述组件中的Add Board 按钮时,它显示此错误:
未捕获的 ReferenceError: addBoard 未定义 单击时(在 Xr 处进行评估 (vue.min.js:7), :2:455) 在 HTMLButtonElement.invoker (vue.min.js:6)
好像组件里的按钮找不到addBoard方法,写在同一个文件里!
我在这里缺少什么?
【问题讨论】:
-
组件不能直接调用父 Vue 上定义的方法。您需要在组件上定义 addBoard。
标签: javascript vuejs2