私のvueアプリケーションでは、コンポーネント内にあるclickイベントの関数を呼び出しています。ここではコンポーネントのコードは次のとおりです。ここでVue 2:コンポーネントからclickイベントのメソッドを見つけることができません
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
ボタンをクリックしたときに、それはこのエラーを示している。
Uncaught ReferenceError: addBoard is not defined at click (eval at Xr (vue.min.js:7), :2:455) at HTMLButtonElement.invoker (vue.min.js:6)
コンポーネントのボタンが同じファイルに書き込まれたaddBoard
メソッドを見つけられないようです! ここには何が欠けていますか?
コンポーネントは、親Vueで定義されたメソッドを直接呼び出すことはできません。コンポーネントにaddBoardを定義する必要があります。 – Bert