[英]How can I call method in the component from view? (vue.js 2)
我的看法是這樣的:
<div class="row no-gutter">
<div class="col-md-9 col-xs-12">
<div class="wrap-tabs">
<ul class="nav nav-tabs nav-cat">
<li role="presentation" class="active"><a href="#" data-toggle="tab" @click="getPlayer(1)">England</a></li>
<li role="presentation"><a href="#" data-toggle="tab" @click="getPlayer(2)">Spain</a></li>
<li role="presentation"><a href="#" data-toggle="tab" @click="getPlayer(3)">Italy</a></li>
</ul>
</div>
</div>
</div>
<br>
<div class="tab-content">
<div role="tabpanel" class="tab-pane active">
<top-player-view country_id="1"></top-player-view>
</div>
</div>
我的組件頂級玩家視圖是這樣的:
<template>
...
</template>
<script>
export default{
props:['country_id'],
created() {
this.$store.dispatch('getTopPlayers', this.country_id)
}
methods: {
getPlayer: function(country_id) {
this.$store.dispatch('getTopPlayers', country_id)
}
}
}
</script>
我嘗試在頂級玩家視圖組件中調用getPlayer方法。 我從視圖中調用該方法。 你可以在上面看到我的代碼
單擊選項卡時,我在控制台上檢查是否存在錯誤:
[Vue警告]:屬性或方法“ getPlayer”未在實例上定義,但在渲染期間被引用。 確保在data選項中聲明反應性數據屬性。 (在根實例中找到)
未被捕獲的TypeError:getPlayer不是函數
我該如何解決?
您實際上需要在元素上調用方法。
一種解決方案:將ref="player"
添加到top-player-view
,然后調用$refs.player.getPlayer(1)
而不是getPlayer(1)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.