我在使用angular2和typescript加载nativescript app时遇到了问题。我想解决很久了。我拥有的是:
list.service.ts
"SELECT travel.Lat,call.START FROM travel JOIN call ON travel.ID= call.ID WHERE travel.ID='12345'";
module.ts
import { ItemListApi } from '../sdk/services/custom/ItemList';
import { ItemList } from '../sdk/models/ItemList';
@Injectable()
export class ListService {
items: Observable<Array<Item>>;
public grocery: Grocery = new Grocery('', '');
private listModel: ItemList = new ItemList();
constructor(private itemListApi: ItemListApi,
private authModelApi: AuthModelApi,
private loginCredentials: LoginCredentials) {
}
addItems(list: ItemList) {
let uid;
uid = this.loginCredentials.getUserId();
return this.itemListApi.create({
"name": list.name,
"userid": uid
});
};
}
我一直收到错误消息“没有ItemListApi的提供者”...... 实际上ItemListApi来自我的loopback nativescript sdk。 有人可以帮助我发现我的代码中的小问题吗?
答案 0 :(得分:1)
将ItemListApi
添加到您的app.module.ts
提供商列表中:
providers: [
LoginService,
ListService,
LoginCredentials,
HeroActions,
HeroService,
ItemListApi
],
在回答Nick所说的内容时,他无法将其作为提供者添加到他正在使用的@Injectable
而不是@Component
答案 1 :(得分:0)
如评论中所述;您需要更新module.ts文件中的导入。
添加:
import { SDKBrowserModule } from './shared/sdk/index';
使用module.ts中的其他导入,然后:
SDKBrowserModule.forRoot()
在module.ts中的进口数组中