Search code examples
angulartypescriptionic2

Property does not exist on type


I am working on a project with Ionic2 and Angular2. When trying to run ionic serve, the data is retrieved without any errors. However, when trying to test on ios and running ionic build ios, I am getting the below compile time errors, that properties do not exist.

Has anyone else encountered this issue?

I appreciate any suggestions.

home.ts

import { Component } from '@angular/core';
import { ProfileService } from './profile.service';

@Component({
    selector: 'home',
    templateUrl: 'home.html',
    providers: [ProfileService]
})
export class HomePage {

    constructor(public d: HomeService){
        this.loadData();
    }

    loadData() {
     this.d.fbPromise.then( (FB) =>    this.data.getData(FB)).then(response => {
         this.data = response;
     });
   }
}

home.html

<ion-header>
    <ion-navbar>
        <ion-title>Home</ion-title>
    </ion-navbar>
</ion-header>

<ion-content>

    <div class="profile-content" padding>
        <div class="content-header">
            <h2 class="name">{{ this.data.name }}</h2>


        <div class="interests-content">
            <h3>interests</h3>

            <span *ngFor="let interest of this.data.interests" >
                {{ interest.title }} : {{interest.name}}
            </span>
        </div>
    </div>
</ion-content>

Compile Time Errors:

[10:10:18]  Error: Error at /Users/zzz/Sites/angular-app/Flah/.tmp/pages/home/home.ngfactory.ts:330:47 
[10:10:18]  Property 'name' does not exist on type 'HomeService'. 
[10:10:18]  Error at /Users/zzz/Sites/angular-app/Flah/.tmp/pages/home/profhomeile.ngfactory.ts:349:72 
[10:10:18]  Error at /Users/zzz/Sites/angular-app/Flah/.tmp/pages/home/phomerofile.ngfactory.ts:354:72 
[10:10:18]  Property 'interests' does not exist on type 'HomeService'. 
[10:10:18]  ngc failed 
[10:10:18]  ionic-app-script task: "build" 
[10:10:18]  Error: Error 

Solution

  • Don't use this in view bindings

    {{ this.data.name }}<
    

    should be

    {{ data.name }}<