以下の結果は、
画面上に「hoge」と出てきます
<div id="app"> {{test()}} </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> var app = new Vue({ el: '#app', data:{}, methods:{ test(){ return 'hoge'; } } }); </script>
このmethodsの部分にapi等で
値を取ってきて表示するというメソッドを組み込みたいのですがうまくいきません
例えばそれをsettimeout表現すると
<div id="app"> {{test()}} </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> var app = new Vue({ el: '#app', data:{}, methods:{ test(){ new Promise(resolve=>{ setTimeout(()=>{ return resolve(1); },2000); }).then(data=>{ return 'hoge'; }); } } }); </script>
期待する結果は「hoge」ですが実際には空になってしまいます
methodsで非同期処理をして「hoge」を表示するやり方をご存じの方お教えくださいませ
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/22 09:29