2019.03.19 - Note

riot.jsでupdateイベントが起きない場合の確認

症状

riot.jsでupdateされない。
またはthis.on('update', function(){...});が実行されない。

原因

タグがマウント済みのつもりがマウントされておらず、
マウント直後のためupdateが実行されない。
※riot v3からマウント時にはupdateイベントが実行されなくなりました。

対策

明示的にupdateを行う

tag.on('update', function(){ console.log('update!'); });
tag.on('updated', function(){ console.log('updated!'); });

tag.trigger('update');
tag.on('mount', function(){
  tag.trigger('updated');
});

// 又は

tag.on('mount', function(){
  tag.update();
});

 

コメントを残す