访问已定义对象

时间:2017-09-13 15:57:19

标签: angular

为什么我在这段代码中出错(你必须熟悉角文档,因为代码主要是那里的代码)

错误源于与星星的界限......

import { Component } from '@angular/core';

export class Hero {
  id: number;
  name: string;
}

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'Tour of Heroes';
  hero: Hero = {
    id: 1,
    name: 'Windstorm'
  };

  if (hero.name === 'prekazi') {  // <--******************
    // do something
  }
}

错误是

Failed to compile.

/Users/.../Desktop/angular-tour-of-heroes/src/app/app.component.ts (20,11): ',' expected.

这是由于这一行:

if (hero.name === 'prekazi') {

为什么我们无法使用点表示法访问英雄实例的属性?有人可以指点我在这里失踪的东西吗?

1 个答案:

答案 0 :(得分:1)

您的代码在类中,但不在类的方法内。例如,如果将其添加到ngOnInit

,则可以使用它
export class AppComponent {
    title = 'Tour of Heroes';
    hero: Hero = {
        id: 1,
        name: 'Windstorm'
    };

    ngOnInit() {
        if (this.hero.name === 'prekazi') {  // <--******************
            alert('That\'s my hero! ')
        }
    }
}