Javascript 是否可以从环回为Angular2生成服务?

Javascript 是否可以从环回为Angular2生成服务?,javascript,angular,loopbackjs,angular-loopback,Javascript,Angular,Loopbackjs,Angular Loopback,这里是关于 这个例子非常适用于角度。可以使用命令生成Angular客户端库 $ lb-ng ../server/server.js js/lb-services.js 使用Angular2和环回是否存在相同的简单方法 编辑 我目前在这个主题上发现了什么 在环回sdk和Github存储库中进行讨论 实现示例:并基于BaseResource 还有另一种方法-从Angular到Angular2使用,直到正式实现环回Angular 2 SDK 我已经完成了Angular 2的alpha版本代码生成器

这里是关于

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

$ lb-ng ../server/server.js js/lb-services.js
使用Angular2和环回是否存在相同的简单方法

编辑

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

  • 在环回sdk和Github存储库中进行讨论
  • 实现示例:并基于BaseResource
  • 还有另一种方法-从Angular到Angular2使用,直到正式实现环回Angular 2 SDK
  • 我已经完成了Angular 2的alpha版本代码生成器
  • 编辑

  • ()

  • 此时,您可以使用环回sdk angular分叉和环回sdk angular cli包

    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):

    用法示例:

    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
            });
        });
      }
    }
    

    我得到以下异常
    异常:没有Http提供程序!(App->UserApi->Http)
    thinks?@essaji,请出示你的代码。如何在组件中提供Http?是否有提供程序:[Http]?。您可以使用代码示例创建问题()。使用
    提供程序:[UserService,Http],
    生成
    异常:ConnectionBackend没有提供程序!(AppComponent->UserApi->Http->ConnectionBackend)
    并使用
    提供程序:[UserService,Http,ConnectionBackend],
    生成
    异常:RequestOptions没有提供程序!(AppComponent->UserApi->Http->RequestOptions)
    尝试同时提供
    Http_提供者
    @essaji我使用环回sdk包
    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
            });
        });
      }
    }