Angular 2*ng不工作

Und*_*ood 1 javascript ngfor angular

以下是我的组件:

import { Component } from 'angular2/core';

@Component({
  selector: 'test',
  template: 
     `
      <ul >
        <li *ngFor="let t of test">
         <span >{{t}}</span>
        </li>
      </ul>
     `
})

export class TestComponent implements OnInit{
  test: string[];
  constructor(){
    this.test = ["Saab", "Volvo", "BMW"];
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试加载组件时收到以下错误:

  EXCEPTION: Template parse errors:
    Can't bind to 'ngFor' since it isn't a known native property ("<ul >
        <li [ERROR ->]*ngFor="let t of test">
            <span >{{t}}</span>
        </li>
    "): 
Run Code Online (Sandbox Code Playgroud)

另外,我不确定在导入Component时是否应该使用'@ angular/core'或'angular2/core'.

KLM*_*LMN 9

我遇到了同样的问题,经过大量搜索和测试,我发现我忘记在模块的“声明”中声明我的组件。

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';

import { SearchComponent } from './search.component';

@NgModule({
  imports: [
    CommonModule,
    RouterModule.forChild([
      { path: '', component: SearchComponent },
    ])
  ],
  exports:[
  ],
  declarations: [
    SearchComponent 
  ],
})
export class SearchModule { }
Run Code Online (Sandbox Code Playgroud)


小智 8

可能会出现此问题,因为您没有将公共模块导入到当前模块中.

尝试导入

import { CommonModule } from "@angular/common";
Run Code Online (Sandbox Code Playgroud)

进入当前模块,看看问题是否已解决.

公共模块添加角度2的所有内置指令.

看到commonModule文档通过angular.io

希望有帮助:)


Gui*_*ido 0

你的模板应该是:

<ul>
    <li *ngFor="#t of test">
        <span >{{t}}</span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

或者在新版本中这样:

<ul>
    <li *ngFor="let t of test">
        <span>{{t}}</span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)