nativescript和angular2 - 无提供程序错误
我遇到了使用angular2和typescript加载nativescript应用程序的问题。我试图解决很长时间。我所拥有的是:nativescript和angular2 - 无提供程序错误
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。 有人可以帮我发现我的代码的小问题?
添加ItemListApi
到您app.module.ts
的供应商名单:
providers: [
LoginService,
ListService,
LoginCredentials,
HeroActions,
HeroService,
ItemListApi
],
在回答什么尼克说,他不能将其添加为TS文件,他是在一个供应商,因为他是用@Injectable
不@Component
实际上是这个模块。 ts是共享文件,这是Web,桌面和nativescript应用程序常见的文件。所以无论我在这个文件中做出的chages都会在app.i中反映出来,我有2个sdk一个用于web,一个用于nativecsript。这个nativescript sdk ItemListApi得到这个错误。所以我该怎么做? – Khushi
好的添加'ItemListApi'应该可以解决你的问题,所以我不确定 – mast3rd3mon
正如评论中所述;您需要在module.ts文件中更新导入。
地址:
import { SDKBrowserModule } from './shared/sdk/index';
与您module.ts其他进口,然后又:
SDKBrowserModule.forRoot()
在module.ts您的进口阵列
你应该提供的服务为一个rpvoider在它使用的组件。例如https://github.com/NativeScript/nativescript-sdk-examples-ng/blob/master/app/http/http-get/http-get.component .ts –