繁体   English   中英

是否可以从Loopback为Angular2生成服务?

[英]Is it possible to generate services for Angular2 from Loopback?

以下是有关AngularJS JavaScript SDK的文档

这个例子适用于Angular。 可以使用命令生成Angular客户端库

$ lb-ng ../server/server.js js/lb-services.js

是否存在将Angular2与Loopback一起使用的简单方法?

编辑

我目前在这个主题上发现了什么。

  1. 问题在回送-SDK-角度Github上库与讨论。
  2. 实现示例: BaseResourceModel在BaseResource上匹配。
  3. 另一种方式 - 使用从Angular 升级到Angular2,直到Loopback Angular 2 SDK正式实现。
  4. 我已经在loopback-sdk-angular的fork中为Angular 2完成了alpha版本的代码生成器。

编辑

  1. Loopback-sdk-builder评论

此时你可以使用loopback-sdk-angular和loopback-sdk-angular-cli包的fork。

的package.json:

"devDependencies": {
  //...
  "loopback-sdk-angular": "github:qeti/loopback-sdk-angular#188-angular2-support",
  "loopback-sdk-angular-cli": "github:qeti/loopback-sdk-angular-cli#37-angular2-support"
}

生成客户端代码(TypeScript):

./node_modules/.bin/lb-ng ./server/server.js ./client/src/app/lb-services.ts -l angular2

用法示例:

import {Component,Injectable} from 'angular2/core';
import {UserApi as UserService} from './lb-services';
import {HTTP_PROVIDERS} from 'angular2/http';

@Component({
  selector: 'my-app',
  providers: [UserService,HTTP_PROVIDERS],
  template: 'some template'
})

@Injectable()
export class AppComponent {

  private login: string;
  private password: string;

  constructor(protected user: UserService) {}

  onLogin() {
    let self = this;
    // Example 1
    this.user.login({
      username: self.login,
      password: self.password
    })
    .subscribe(res => {
      // some actions on login
      this.getData();
    });
  }

  onLogout() {
    // Example 2
    this.user.logout().subscribe(() => {
      // some actions on logout
    });
  }

  public getData() {
    // Example 3
    this.user.count().subscribe((response: any) => {
      let lastRow = response.count;

      let data = this.user
        // Example 4
        .find({
          offset: 0,
          limit: 100
        })
        .subscribe(function(response: any) {
          // Process response
        });
    });
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM