Ich versuche ein Spiel zu machen.V-Html mit Aktualisiert funktioniert nicht
Wenn ein Spieler sich dem Spiel anschließt, erscheint normalerweise die Willkommensnachricht! Aber nichts erscheint.
<template>
<div>
<span v-html = "welcomeMessage" v-hide></span>
<form v-hide v-on:submit.prevent="setPlayer">
<input name="player" placeholder="Enter the player name" v-border:blue/>
<button type="submit" v-border:red>Play</button>
</form>
</div>
</template>
<script>
export default {
name: 'player',
data: function() {
return {
player: '',
welcomeMessage: ''
}
},
updated: function() {
this.welcomeMessage = `Hi <span class="player">${this.player}</span> ! `
},
methods: {
setPlayer: function (event) {
this.player = event.target[0].value
}
},
directives: {
border: function (el, binding) {
el.style.borderColor = binding.arg
},
hide: function (el, binding, vnode) {
let isForm = vnode.tag === 'form'
let player = vnode.context.player
if (isForm) {
el.style.display = player ? 'none' : 'block'
} else {
el.style.display = player ? 'block' : 'none'
}
}
}
}
</script>
<style scoped>
</style>
es scheint, dass das nicht funktioniert, ich weiß nicht warum! Der Name des Players wird im Hook aktualisiert, aber die Vorlage zeigt ihn nicht an.
Irgendwelche Hinweise.
Thxs.
Warum? Verwenden Sie ein benutzerdefiniertes 'v-hide' und nicht das einfache, eingebaute' v-if = "welcomeMessage" 'oder' v-show = "welcomeMessage" '? – ceejayoz
@ceejayoz Ich folge einem Tutorial, die Willkommensmeldung zeigt nicht, wenn ich einen Namen player – Kikou
einreichen Wählen Sie ein anderes Tutorial. Der, den du benutzt, ist beschissen. – ceejayoz