ユーザーがアプリケーションから特定のサーバーをリセットまたはシャットダウンできるようにしようとしています。私は今、インターフェース上で作業していて、何が起こっているのかについてユーザにメッセージを伝えたいと思っています。私はデータオブジェクトに定義されたメッセージを表示して、実行されたアクションを示します。私はsetTimeoutを使用してリセットメッセージをリセットして....メッセージを切り替えます。次の方法を参照してください。vueJSメソッドからsetTimeout()が呼び出されない
systemReset: function(){
this.message = this.server + ': Resetting';
setTimeout(function(){
this.message = this.server + ': Reset';
}, 2000);
}
私のブラウザでは、このメッセージが表示され、「リセット中」というメッセージが表示されますが、次の「リセット」メッセージは出力されません。フォーマットエラーがありますか?
ここでは、このメソッドをコンテキストに入れることは、私のコンポーネント全体です。
<template>
<div>
<p>{{message}}</p>
<button @click="systemReset">Reset Server</button>
<button @click="systemPowerDown">Poweroff Server</button>
</div>
</template>
<script type="text/javascript">
export default{
data: function(){
return{
message: ''
}
},
methods: {
systemPowerDown: function(){
this.message = this.server + ': Server Down';
},
systemReset: function(){
this.message = this.server + ': Resetting';
setTimeout(function(){
this.message = this.server + ': Reset';
}, 2000);
}
},
props: ['server']
}
</script>
Am I missing something obvious? Or is there some vue limitation I am unaware of?
を指しthis.message'は、いつ、どのようにあなたがそれを示している、文字列のですか? – Teemu
timeout関数の中で 'this'キーワードを使用するのは難しいので、systemResetではなくtimeout関数を参照していますか? –
私の段落にそれを出力してください – DMrFrost