組件間的通信,報錯"ReferenceError: tip is not defined"
<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>
建議再看一下文檔,組件的作用域那一塊
props: ['tip']應該寫在var tipTemplate={}中,而不是寫在 new Vue({})中,組件的作用域弄錯了
樓上的解答有問題,組件要動態屬性綁定:
整體如下:
在子組件上加上一個v-if="tip"