ionicframework import module,变量始终未定义



我正在尝试在我的ionicframework项目中导入新功能。我执行了以下命令行:

$ 离子科尔多瓦

插件添加科尔多瓦插件唯一设备ID

$ npm install --save @ionic-native/unique-device-id

在我的文件MyOwnService.ts中,我正在导入它:

import { UniqueDeviceID } from '@ionic-native/unique-device-id';
import { Http } from '@angular/http';

然后在我MyOwnService的构造函数中:

constructor(http: Http, uniqueDeviceID: UniqueDeviceID) {
console.log('Loading provider');
uniqueDeviceID.get()
.then((uuid: any) => console.log("UID : " + uuid))
.catch((error: any) => console.log("UIDERR : " + error));
}

uniqueDeviceID总是不确定的。如果我在构造函数中添加一个额外的参数,http' 也不再起作用。

我错过了什么吗?我必须在app.module.ts中添加一些东西吗?

我验证了目录中是否存在workspacedir/node_modules/@ionic-native/unique-device-id´

UniqueDeviceID 必须是提供程序的提供程序吗?

是的。从Ionic-Native 3.x开始,所有离子原生服务都需要设置为提供者。查看此处。

@NgModule({
...
providers: [
...
UniqueDeviceID
...
]
...
})
export class AppModule { }

其次,访问插件时,您需要使用如下所示this.platform.ready()

constructor(http: Http, uniqueDeviceID: UniqueDeviceID) {
console.log('Loading provider');
this.platform.ready().then(() => {
uniqueDeviceID.get()
.then((uuid: any) => console.log("UID : " + uuid))
.catch((error: any) => console.log("UIDERR : " + error));
});
}

还要确保您在模拟器/设备中进行测试,因为使用ionic serve时未启用 cordova 插件。

相关内容

  • 没有找到相关文章

最新更新