网络错误:无法读取未定义的属性“登录”

提交凭据时,我有一个登录页面,请启动此方法:

const login = gql`mutation login ($username: String!,$password: String!) {
    login (
        username: $username,password: $password
        client_id: 2
        client_secret: "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    ) {
        auth_token {
            access_token
        }
        user {
            email
        }
    }
}`;
...
login(username: string,password: string) 
{
      return this.apollo.mutate({
            mutation: login,variables: {
                username: username,password: password
            }
      });
}

在我需要使用以下方法来获取我的API上的所有用户后:

const users = gql`query users ($first: Int!,$page: Int,$orderBy: [OrderByClause!]) {
    users (
        first: $first,page: $page,orderBy: $orderBy
    ) {
        data {
            id
            name
            email
        }
    }
}`;
...
public getall(first: number,page: number,orderBy: any[] = []): Observable<any> 
{
        return this.apollo.query({
            query: users,variables: {
                first: first,page: page,orderBy: orderBy
            }
        });
}

一切正常,但是当我重新加载页面时,出现此错误:Network error: Cannot read property 'login' of undefined,因为我认为这是缓存或链接的问题。在这种情况下您收到此错误了吗?

我的graphql.module.ts:

import { NgModule } from '@angular/core';
import { ApolloModule,APOLLO_OPTIONS } from 'apollo-angular';
import { HttpLinkModule,HttpLink } from 'apollo-angular-link-http';
import { InmemoryCache } from 'apollo-cache-inmemory';

const uri = 'https://my-application-api.dev/graphql';
export function createApollo(httpLink: HttpLink) {
    return {
        link: httpLink.create({uri}),cache: new InmemoryCache()
    };
}

@NgModule({
    exports: [ApolloModule,HttpLinkModule],providers: [
        {
            provide: APOLLO_OPTIONS,useFactory: createApollo,deps: [HttpLink],},],})
export class GraphQLModule {}

感谢您的帮助。

ptpstao 回答:网络错误:无法读取未定义的属性“登录”

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2857027.html

大家都在问