Communication entre composants, erreur "ReferenceError: tip is not definition"
<body>
<p id="app">
<button v-on:click="tip = !tip">Toggle</button>
<my-tip></my-tip>
</p>
</body>
<script type="text/javascript" src="../script/vue.js"></script>
<script type="text/javascript">
var tipTemplate = {
template: '<transition name="fade">\
<p v-if="tip" class="vertical-horizontal-center">\
<img src="../image/no-log.png">\
<h2>暂无记录</h2>\
<p class="aui-btn aui-btn-info">重新加载</p>\
</p>\
</transition>'
}
new Vue({
el: "#app",
data: {
tip: false,
},
components: {
'my-tip': tipTemplate,
props: ['tip'],
},
created: function() {}
})
</script>
Il est recommandé de relire le document et de voir la portée du composant
props : ['tip'] doit être écrit dans var tipTemplate={} au lieu de new Vue({}). La portée du composant est erronée
.Il y a un problème avec la réponse ci-dessus. Les composants nécessitent une liaison d'attribut dynamique :
Le tout est le suivant :
Ajoutez un v-if="tip" au composant enfant