带变量的阿波罗监视方法

时间:2019-01-22 17:47:28

标签: apollo-client

我正在尝试使用角度的apollo客户端监视方法来查询spring boot服务器。我无法使用此方法传递参数。 由于“援助”是强制性的,因此当它尝试拨打电话时,我会收到类似 错误错误:GraphQL错误:变量'aid'已将NonNull类型'String!'的Null值强制转换为

下面是我在打字稿中的代码。

export class AgreementGQL extends Query {
  document = gql`query agreement($aid: String!) {
    agreement(id: $aid) {
      id      
      name
    }
  }

下面是调用协议的代码。在构造函数中注入协议的地方。

this.agreement.watch({
        aid: "1234567"
      }).valueChanges.subscribe(result => {
      console.log("*********** result : " + JSON.stringify(result.data));
    });

我也尝试使用“变量”,但是没有运气。

this.agreement.watch({ variables:{
        aid: "1234567"
      }}).valueChanges.subscribe(result => {
      console.log("*********** result : " + JSON.stringify(result.data));
    });

1 个答案:

答案 0 :(得分:1)

您只需要将值设置为键/值对,例如:

const myVal = '123';

然后将其作为对象传递给watch方法...

const agreement = this.agreementQuery
  .watch({ myVal })
  .valueChanges.pipe(pluck('data'));

然后订阅以获取数据:

 agreement.subscribe(data => console.log(data));

这种方法对我有用。