属性'平台'已声明但从未使用过

Pie*_*ina 4 typescript ionic-framework ionic2 ionic3 angular

为什么我通过tslint得到这个警告?

Package name: io.ionic.starter
[18:37:16]  tslint: s:/IonicProject/VerificheNawi/src/pages/home/home.ts, line: 14
        Property 'platform' is declared but never used.

  L14:    constructor(public navCtrl: NavController, private platform: Platform, public splash: SplashScreen) {
  L15:      platform.ready().then(()  => {
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,L15使用平台......我想知道是否有一些我还没有理解注射的东西.

seb*_*ras 13

问题是第14行.所以试试这个:

constructor(platform: Platform, public navCtrl: NavController, public splash: SplashScreen) {
Run Code Online (Sandbox Code Playgroud)

通过private在构造函数中省略平台的关键字,我们告诉Typescript 不要在此组件中为它创建属性.

为什么?因为您正在使用这样的平台:platform.ready... 您不是使用组件中的属性,而是使用构造函数中的参数.

所以我看到它,你可以通过两种方式解决这个问题:

  1. 删除private平台旁边的关键字constructor,以便不在组件中创建属性,只需使用该platform参数即可.
  2. 改变platform.ready().then(...)通过this.platform.ready().then(..)(通过使用以使用从该组件的属性this的关键字).