如何使用GQL指令实现"else“效果
有一种方法可以使用@include(if: $withFriends)通过gql有条件地获取一些内容
query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
}
}但如果$withFriends为false,我想获取其他东西。我可以通过传递额外的变量$notWithFriends来实现
query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
appearsIn @include(if: $notWithFriends)
}
}问:是否有可能避免使用额外的变量?
如下所示:@include(else: $withFriends)、@include(ifNot: $withFriends)或@include(if: !$withFriends)
发布于 2019-06-14 16:16:35
您可以使用@skip指令,它的工作方式与@include相反--如果if参数为true,它将省略选择集中的字段
query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
appearsIn @skip(if: $withFriends)
}
}这样,如果$withFriends为true,则只会选择name和friends。如果为false,则仅选择name和appearsIn。
https://stackoverflow.com/questions/56591874
复制相似问题