如何将 Mongoose 后端类连接到前端类(Ionic 与 Angular.io)

Posted

技术标签:

【中文标题】如何将 Mongoose 后端类连接到前端类(Ionic 与 Angular.io)【英文标题】:How to connect Mongoose backend class to frontend class (Ionic with Angular.io) 【发布时间】:2018-06-01 01:30:47 【问题描述】:

我已经尝试了太多小时了,但我根本无法让它发挥作用。我正在制作一个登录页面,您基本上只需插入用户名,然后它从数据库中获取信息并更新前端的对象(唯一的区别是添加了 ObjectID)。这就是我想要的:

    加载登录页面,提示您输入用户名。 您输入用户名。这里可能会发生多种情况:
      它使用新用户名在数据库中创建一个新条目,并返回新用户:ObjectIDUsername 它从数据库中返回条目(来自find()

这并不疯狂,但我根本无法克服错误:

TypeError: 无法读取 null 的属性“用户名”

login.html

<ion-content>
    <ion-input placeholder="Username" [(ngModel)]="user.username"></ion-input>
    <button ion-button (click)="submit()">Submit</button>
</ion-content>

login.ts

export class LoginPage 
  appStorage: Storage;
  user = 
    id: "test",
    username: "test"
  ;
  //user: User;
  //user: Object = ;

  constructor(private storage: Storage) 
    this.appStorage = storage;

    storage.get('user').then(user => 
      this.user = user;
    );
  

  submit() 
    this.appStorage.set("user", this.user);
  

  ngOnInit() 
    this.user = 
      id: "test",
      name: "test"
    ;
  

User.ts

export class User 
    public id: string;
    public username: string;

    constructor(public inputId?: string, public inputUsername?: string) 
        this.id = inputId;
        this.username = inputUsername;
    

我尝试过改变我拥有的 User 类,我尝试过将所有内容都移到一个组件中,我尝试过各种各样的事情,但我根本无法让它工作。我希望我的后端 Mongoose 类与前端匹配。也许有一个图书馆可以为我做这件事吗?否则我就单独做。

我真的很想使用我拥有的 User 类,所以我没有使用对象。

【问题讨论】:

user 可能在您的storage.get('user')... 中设置为null,如果您在then 回调中使用console.log(user),您会得到什么吗? @Und3rTow Aaaah 这就是问题所在。现在工作正常 - 谢谢。现在另一个问题:我的用户类是否正确完成?我似乎无法将其设置为 storage.get() 中的返回类型。 @Und3rTow 好的,所以如果我将它用作接口,我基本上会怎么说storage.get().then((user: User) =&gt; if(user) this.user = user else this.user = new User(); ); - 基本上检查存储是否有用户。如果没有,请将其设置为空用户。否则我会得到同样的错误。 我猜你可以这样做:stackblitz.com/edit/angular-sk6yh1 @Und3rTow 我只是在构造函数中设置了this.username = "",然后我可以做new User(),现在我没有收到任何错误:) 【参考方案1】:

我认为你不应该这样做。您应该使用 API 与您的后端对话;如果需要,您可以重用您的 POJO 接口;但不能从您的前端代码访问mongoosejs 存储。

【讨论】:

以上是关于如何将 Mongoose 后端类连接到前端类(Ionic 与 Angular.io)的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将非组件类连接到 redux 存储?

Qt:如何将类连接到自定义 Qt 设计器小部件

JDBC 无法从单独的类连接到我的数据库。 DB 类创建连接

如何将多个套接字后端应用程序连接到单个前端

客户端类库与web服务/web服务与服务端类库的通信

将图像文件从 React 前端上传到 Node/Express/Mongoose/MongoDB 后端(不工作)