2016-10-09 13 views
0

「X」または「O」として再生するかどうかをユーザーに尋ねるモーダルを表示するVueコンポーネントを作成しました。これは、v-onを使用することでこれを行うことができるはずです:click = 'startComp(' X ') - これは動作しません。参照エラーを投げています。私は数日間これをしていたので、どんな助けにも大いに感謝しています...Vueコンポーネント参照エラー

私がv-onが必要なので、最初に関数を呼び出す理由は次のとおりです。両方ともthis.modalをfalseに設定して(モーダルを削除し、 'ボード'に移行)、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'); 
    }, 
+0

* "編集 - 申し訳ありませんが、このことはまあまあですが、コードを正しくフォーマットすることはできません。" * - インデント用にタブの代わりにスペースを入れてください。 (さらに、各行はコードとして認識されるように(少なくとも4つのスペースでインデントされるべきです)。 – nnnnnn

答えて

0

だから、壁に頭を壊しの3日後、私は最終的にこれを考え出しました。私はモーダルがVueのターゲット要素の内部にないと思うので、v-onの代わりに:click = 'compStart( "X")'これはv-onにする必要がありました:click = 'game.compStart( "X") '

関連する問題