nativescript和angular2 - 没有提供程序错误

时间:2016-12-14 09:45:42

标签: angular typescript nativescript angular2-nativescript

我在使用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。 有人可以帮助我发现我的代码中的小问题吗?

2 个答案:

答案 0 :(得分:1)

ItemListApi添加到您的app.module.ts提供商列表中:

providers: [
LoginService,
ListService,
LoginCredentials,
HeroActions,
HeroService,
ItemListApi
],

在回答Nick所说的内容时,他无法将其作为提供者添加到他正在使用的@Injectable而不是@Component

中的ts文件中

答案 1 :(得分:0)

如评论中所述;您需要更新module.ts文件中的导入。

添加:

import { SDKBrowserModule } from './shared/sdk/index';

使用module.ts中的其他导入,然后:

SDKBrowserModule.forRoot()

在module.ts中的进口数组中