【发布时间】:2019-08-12 07:37:48
【问题描述】:
[Vue 警告]:属性或方法“StartGame”未在实例上定义,但在渲染期间被引用。通过初始化该属性,确保此属性是反应性的,无论是在数据选项中,还是对于基于类的组件。请参阅:https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties。
这是来自 jsfiddle 的代码: html
<!DOCTYPE html>
<html>
<head>
<title>Monster Slayer</title>
<script src="https://npmcdn.com/vue/dist/vue.js"></script>
<link rel="stylesheet" href="css_project1/">
<link rel="stylesheet" href="css_project1//app.css">
<script src="https://unpkg.com/vue@2.6.9/dist/vue.js"></script>
</head>
<body>
<div id="app">
<section class="row">
<div class="small-6 columns">
<h1 class="text-center">YOU</h1>
<div class="healthbar">
<div class="healthbar text-center"
style="background-color: green; margin: 0; color: white;"
:style="{width:playerHealth + '%'}">
{{ playerHealth }}
</div>
</div>
</div>
<div class="small-6 columns">
<h1 class="text-center">MONSTER</h1>
<div class="healthbar">
<div class="healthbar text-center"
style="background-color: green; margin: 0; color: white;"
:style="{width:monsterHealth + '%'}">
{{ monsterHealth }}
</div>
</div>
</div>
</section>
<section class="row controls" v-if="!gameIsRunning">
<div class="small-12 columns">
<!-- <input type="text"> -->
<button id="start-game" @click="StartGame" >START NEW GAME</button>
</div>
</section>
<section class="row controls" v-else>
<div class="small-12 columns">
<button id="attack" @click="attack">ATTACK</button>
<button id="special-attack" @click="specialAttack">SPECIAL ATTACK</button>
<button id="heal" @click="heal">HEAL</button>
<button id="give-up" @click="giveUp">GIVE UP</button>
</div>
</section>
<section class="row log" v-if="gameIsRunning">
<div class="small-12 columns">
<ul>
<li>
</li>
</ul>
</div>
</section>
</div>
<script src="app.js"></script>
</body>
</html>
new Vue({
el:"#app",
data: {
playerHealth: 10,
monsterHealth: 10,
gameIsRunning:false,
},
methods:{
StartGame: function(){
this.gameIsRunning = true;
this.playerHealth = 40;
this.monsterHealth = 40;
},
}
})
【问题讨论】:
-
当我在外部调用我的文件时出现此错误,当我在正文关闭之前在 .html 文件中编写脚本时,它没有显示错误。
-
你能给我们一些代码吗?您在哪里定义 StartGame 是什么?
-
StartGame 没有被试图访问它的组件找到。这个问题是因为它,请详细说明,以便我们可以提供帮助。
-
-
请阅读此内容然后编辑您的问题,因为这样没有人可以(或应该)帮助您。 stackoverflow.com/help/how-to-ask
标签: vue.js