use setTimeout and nextTick to invoke components