最近、私は奇妙な問題に遭遇しました。私はいくつかのjqueryコードをvueコンポーネントのメソッドオプションで記述しました。 jquery hide()関数はすべて正常です。jquery hide()ramdonly
example1のようなコードを書くと、非常に短時間で ".edit-box"が消えてから表示されます(点滅します)。私は例2のように私のコードを記述する場合、それは私のコードをexcuteする時間について何かあれば
//my html
<p class="move-up-btn" v-on:mousedown.stop="moveUpLib">...</p>
//example 1
Vue.component('...',{
template:'...',
methods:{
moveUpLib:function(){
(this).$parent.moveUpLib();
$('.edit-box').hide();
},
}
})
は、「.editボックス」disppears完全
//example 2
Vue.component('auxiliary',{
template:'#auxiliary',
methods:{
moveUpLib:function(){
alert('hi');
(this).$parent.moveUpLib();
$('.edit-box').hide();
},
}
})
は、だから私は疑問に思います。そして私はこのように私のコードを変更しました。私は
- 1理由例1つのdoes'tを知りたい
//example3 Vue.component('...',{ template:'...', methods:{ moveUpLib:function(){ (this).$parent.moveUpLib(); setTimeout(function(){ $('.edit-box').hide(); }, 1000); }, } })
:私は「サーバが404の状態で応答(見つかりません)リソースのロードに失敗しました」され得ることをしかし、すべての仕事
- 2私は のVueのメソッドオプション内のsetTimeoutを使用できない理由
- 3 I「の.editボックス」を取得警告なし を消えることができますどのよう
誰でも助けることができれば幸いです!
だけで好奇心のために、なぜあなたは '括弧内のthis'を囲むされていますか?一般に、これらの例には多くの緩やかな終わりがあります。 'moveUpLib'は' $ parent'要素で何をしますか? '.edit-box'とは何ですか?どのように404エラー(見つからない)が表示されますか? AJAX経由で何かを取得していますか? –
1「this」が囲まれているかどうかに違いはありません。 IDEがエラーメッセージを表示しないようにしたいからです。 2これらの例は、私の実際のコードのほんの一部ですが、長すぎると思います。 3 '$ parent'の' moveUpLib'は、現在のライブラリと以前のライブラリ(データベースの更新など)の位置を交換する実際の仕事をします。 4各ライブラリコンポーネントには、 'edit-box'という子コンポーネントがあります。それぞれの 'edit-box'コンポーネントには' edit-box'というクラスがあります。 –
5 Vueのメソッドの中に 'setTimeout'関数を置くと、404エラーが発生します。 AJAXはまったくありません。私も好奇心が強いです:) –