我試圖製作遊戲。已更新的V-Html無法正常工作
當玩家提交的遊戲,通常出現在歡迎留言!但沒有出現。
<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>
它似乎不起作用,我不知道爲什麼!在更新的鉤子中更新了玩家的名字,但模板沒有顯示它。
任何線索。
Thxs。
爲什麼重新使用一些自定義的'v-hide'而不是簡單的內置'v-if =「welcomeMessage」'或'v-show =「welcomeMessage」'? – ceejayoz
@ceejayoz我正在關注教程,當我提交名稱播放器時,welcomeMessage不顯示 – Kikou
選擇其他教程。你使用的是低劣的。 – ceejayoz