Vue组件参考错误

时间:2016-10-09 07:19:20

标签: javascript modal-dialog vue.js vue-component

我制作了一个Vue组件,该组件显示一个模式,询问用户是否要播放为' X'或者' O'。它应该能够通过v-on来实现这一点:click =' startComp(' X') - 但这不起作用,它是'抛出参考错误,我不明白为什么。任何帮助将不胜感激,因为我已经在这几天了...

我试图首先调用该函数的原因是因为我需要v-on:单击以将 this.modal 设置为false(从而删除模态并转换为' board')并将 this.marker 设置为其各自的值。而afaik,您只能在v-on中设置1个项目:点击。

Here is a forked version of my original Codepen for testing this.

**编辑 - 抱歉,这件事只是让我正确格式化代码。

<script type="text/x-template" id="modal-template">
<transition name="modal">
    <div class="modal-mask">
        <div class="modal-wrapper">
            <div class="modal-container">
                <div class="modal-body">
                    <slot name="body">
                        <div class='row'>
                            <div class="col-xs-2 select_marker" 
                            id="SX" 
                            v-on:click='compStart("X")'>X</div>
                            <div class="col-xs-8 select_title">
                                SELECT<span style='color:#00B16A'>MARKER</span>
                            </div>
                            <div class="col-xs-2 select_marker" 
                            id="SO" 
                            v-on:click='compStart("O")'>O</div>
                        </div>
                    </slot>
                </div>
            </div>
        </div>
    </div>
</transition>

compStart(marker) {
        this.marker = marker;
        this.showModal = false;
        this.start('comp');
    },

1 个答案:

答案 0 :(得分:0)

因此,在将头撞到墙上3天之后,我终于想到了这一点。我猜模态不在Vue的目标元素内,所以不是v-on:click =&#39; compStart(&#34; X&#34;)&#39;它必须是v-on:click =&#39; game.compStart(&#34; X&#34;)&#39;。