@click
には反応しないようですが、v-bind:click
は登録しません。しかし、メソッドを追加するには、mdl-menu
またはmdl-menu-item
コンポーネントにアクセスすることができないので、ディレクティブにメソッドを入れることはできません。VueJS 2.0とvue-mdlメニューコンポーネントを使用すると、クリックイベントにどのように応答できますか?
私はのような何かをしようとしています(それぞれが異なるvalue
、同じfield-name
の4つのメニューオプションを使用しています)。
私は、VueJSの要素があると感じています。私はまだ気付いていないか、イベントで何か魅力的なものになるでしょう。
私は、インラインコードbus.$emit('event', 'data')
を追加しようとしたが、何も(エラー、コンソールに何もない、何も)起こりません
サンプル要素:
<span class="bar" v-on:click="clicked">
<mdl-button icons raised colored
v-bind:id="generateId('av')"
v-bind:class="getButtonClass(row.avStatus)"
v-bind:title="row.avStatus"
>
<i class="material-icons">videocam</i>
</mdl-button>
<mdl-menu v-bind:for="generateId('av')">
<mdl-menu-item data-field="avStatus">Open</mdl-menu-item>
<mdl-menu-item data-field="avStatus">In Progress</mdl-menu-item>
<mdl-menu-item data-field="avStatus">Review</mdl-menu-item>
<mdl-menu-item data-field="avStatus">Ready</mdl-menu-item>
</mdl-menu>
</span>
編集1:
だから私は得ました最後の夜、クリックイベントはになりますが、正しい方法であるかどうかはわかりません(非常に乱雑です)。メニューオプションがクリックされたときにのみ動作するように
if (e.target.className == "mdl-menu__item") { /* code */ }
:私は何
は、私が持っているclicked()
メソッド内で、親span
にv-on:click="clicked"
リスナーを追加しました。これは間違っていると感じます。リスナーを直接メニューオプションに追加することはできませんか、少なくとも親のmdl-menu
にリスナーを追加することはできませんか?
関連するコードセグメントを追加したり、そのコードセグメントを作成できますか? – Saurabh