我在使用angular2和typescript加载nativescript app时遇到了问题 . 我想解决很久了 . 我拥有的是:
list.service.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
});
};
}
module.ts
@NgModule({
imports: [
CommonModule,
FormsModule,
RouterModule
],
declarations: [
LoginComponent,
ListComponent
],
providers: [
LoginService,
ListService,
LoginCredentials,
HeroActions,
HeroService
],
exports: [
LoginComponent,
ListComponent
]
})
我一直收到错误消息“没有ItemListApi的提供者”......实际上ItemListApi来自我的loopback nativescript sdk . 有人可以帮助我发现我的代码中的小问题吗?
2 回答
将
ItemListApi
添加到app.module.ts
的提供者列表中:在回答Nick所说的内容时,他无法将其作为提供者添加到他所使用的ts文件中,因为他正在使用
@Injectable
而不是@Component
如评论中所述;您需要更新module.ts文件中的导入 .
加:
与您的module.ts中的其他导入,然后:
在module.ts中的导入数组中