私のアプリでは、Sequelizeを使ってmysqlバックエンドに接続する必要があります。以下は、約束が解決したときにデータプロパティ値を設定する
export default {
data() {
return {
username:''
}
},
mounted() {
this.dbConnect()
},
methods: {
dbConnect : function() {
console.log("Test connecting to the database");
let connection = new Sequelize('mydatabase','root','12345' , {
host: '127.0.0.1',
dialect: 'mysql',
logging: console.log.bind(console)
});
var userGroup = connection.define('roles',{
name:Sequelize.STRING
},{ freezeTableName: true, timestamps : false})
userGroup.findById(1).then(function(group) {
this.username = group.get('name');
console.info('current username is :' + this.username);
})
}
}
}
すべては私のUIが既にレンダリングしている解決さ時間
this.username = group.get('name)
によることを除いて、正常に動作しているコードです。データプロパティを更新して、更新されたビューを正しく表示する方法はありますか?
は 'this.username = group.get( 'name');' vueインスタンスに追加しますか?コールバックでその変更を行っているので、 'this'がvueインスタンスか' window'かどうかを確認できますか? –
@AmreshVenugopal:申し訳ありませんが、あなたの質問を理解できませんでした。 usernameはデータプロパティなので、Vueインスタンスに追加する必要がありますか?私の理解が間違っている場合はお知らせください。ありがとう – Gagan
この'console.info( '現在のユーザー名は:' + this.username)の後、コンソールをコンソールにしようとします。info(this); 'vueインスタンスまたはウィンドウオブジェクトが表示されますか? –