此时您可以使用 fork 的 loopback-sdk-angular 和 loopback-sdk-angular-cli 包。
包.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
});
});
}
}