javascript - Komunikasi antara komponen vue, pelaporan ralat
黄舟
黄舟 2017-05-18 10:51:45
0
4
559

Komunikasi antara komponen, ralat "ReferenceError: tip tidak ditakrifkan"

    <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>
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(4)
我想大声告诉你
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>',
           props: ['tip']
        }
<my-tip tip="tip"></my-tip>

Adalah disyorkan untuk membaca dokumen sekali lagi dan melihat skop komponen

过去多啦不再A梦

props: ['tip'] hendaklah ditulis dalam var tipTemplate={} dan bukannya Vue({}) baharu Skop komponen adalah salah

).
我想大声告诉你

Ada masalah dengan jawapan di atas Komponen memerlukan pengikatan sifat dinamik:

<my-tip :tip="tip"></my-tip>

Keseluruhannya adalah seperti berikut:

    <body>
        <p id="app">
            <button v-on:click="tip = !tip">Toggle</button>
            <my-tip :tip="tip"></my-tip>
        </p>
    </body>
    <script type="text/javascript" src="../script/vue.js"></script>
    <script type="text/javascript">
        Vue.component('simple-counter', {
          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>',
          props: ['tip']
        })
        
        new Vue({
          el: '#app',
          data: {
              tip: false
          },
          created: function() {}
        })
    </script>
Peter_Zhu

Tambah v-if="tip"

pada komponen anak
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan