我有两个组件在home组件中并排显示,如下所示:
<app-productList></app-productList>
<app-productGallery></app-productGallery>
如果我注释掉第二行(<app-productgallery></app-productGallery>
),则会立即显示app-productList
,但是如果我不这样做(我同时需要),则会首先显示画廊,而在所有之后加载/查看图库中的图像后,将显示app-productList
(同时产品列表为空)。我要么想要那个:
我可能可以创建一个Promise或rxjs主题,并告诉应用程序我只想在产品列表显示后立即看到图库,但我的问题更笼统-为什么甚至发生这种情况?以下是执行?
答案 0 :(得分:1)
在package mockmdrepository
import io.micronaut.context.annotation.Replaces
import io.micronaut.http.HttpResponse
import io.micronaut.http.client.RxHttpClient
import io.micronaut.http.client.annotation.Client
import io.micronaut.test.annotation.MicronautTest
import io.micronaut.test.annotation.MockBean
import spock.lang.AutoCleanup
import spock.lang.Shared
import spock.lang.Specification
import javax.inject.Inject
@MicronautTest
class ProfilesControllerSpec extends Specification {
@Shared @AutoCleanup @Inject @Client("/")
RxHttpClient client
@Inject
ProfileRepository repository
void "test index"() {
when:
1 * repository.findAll() >> [new Profile('Profile 1'), new Profile('Profile 2')]
HttpResponse<Iterable<Profile>> response = client.toBlocking().exchange("/profiles", Iterable)
then:
response.body().size() == 2
}
void "test get"() {
when:
1 * repository.findById(42) >> Optional.of(new Profile('Profile Forty Two'))
HttpResponse<Iterable<Profile>> response = client.toBlocking().exchange("/profiles/42", Profile)
then:
response.body().name == 'Profile Forty Two'
}
@MockBean
@Replaces(ProfileRepository)
ProfileRepository mockRepo() {
Mock(ProfileRepository)
}
}
文件中,似乎两个组件都像这样:
app.component.html
Angular Render组件完全基于它们在<app-product-gallary></app-product-gallary>
<app-product-list><app-product-list>
文件中出现的顺序。因此,只需通过以下方式更改其在模板文件中的顺序:
.html
但是,如果您提供一些代码,我们可以在这里为您提供更好的帮助,因为这里没有代码,这只是我的猜测。