次のPopper.jsポップアップがあります。このポップアップでは、Vue.jsクリックイベントをアタッチするボタンがあります。クリックイベントがポップアップ外で働きながらPopper.jsのポップアップディビジョンにVue.jsコードを含めるにはどうすればいいですか?
しかし、それは代わりにポップアップが動作しません。
どのように私は同様に、ポップアップ内で動作するようにchangeText()
を得ることができますか?
https://jsfiddle.net/edwardtanguay/jxs5nmxs
HTML:
<div id="app">
<div>
Message: {{message}}
</div>
<div>
<button @click="changeText()">outside works</button>
</div>
<hr/>
<a href="#"
id="example"
class="btn btn-primary"
rel="popover"
data-original-title="Test Form"
data-content='
<div class="form-group">
<label for="exampleInputPassword1">Name</label>
<input type="text" class="form-control">
</div>
<button @click="changeText()" class="btn btn-success">Submit</button>
'>Fill out form</a>
</div>
はJavaScript:
var vm = new Vue({
el: '#app',
data: function() {
return {
message: 'hello'
}
},
methods: {
changeText: function() {
alert('test');
}
}
});
$(function() {
$('#example').popover({html: true});
});
補遺:
私のようにポップオーバーをロードした場合でも
mounted
フック、それだけでポップアップの外に動作しますが、ない内側:https://jsfiddle.net/edwardtanguay/3seu8Lbwまた私はpopper.js
template
パラメータでVue.js HTMLが含まれている場合、それは動作しません:https://jsfiddle.net/edwardtanguay/uaf5wjtn/
をしかし、このコードはまた、不要な効果があり、 changeText()関数は元の「フォームを記入」ボタンをクリックしたときにも実行されます。このボタンは実際には単にポップオーバーを閉じる必要があります。 –
私はちょうどあなたがどのように実行できるかの例を示しました、私はあなたのロジックが何であるかわかりません、機能が衝突すると2つの異なる機能を使用することができます – Tomer
私はコードを理解しようとしています。あなたはどこで 'hidden.bs.popover'を取得しましたか?私がそれを例えばに変更した場合。 'hidden.bs.popoverx'、送信ボタンはポップアップを隠します。しかし、私は 'hidden.bs.popover'が参照しているところは見ません。 –