当前位置: 首页 > 知识库问答 >
问题:

无法绑定到“ng forOf”,因为它不是已知的本机属性[duplicate]

姬欣怡
2023-03-14

我试图在这里遵循基本的Angular 2教程:

https://angular.io/docs/js/latest/guide/displaying-data.html

我可以让angular应用程序加载并显示我的名字,代码如下:

import { Component, View, bootstrap } from 'angular2/angular2';

@Component({
    selector: "my-app"
})

class AppComponent {
    myName: string;
    names: Array<string>;
    constructor() {
        this.myName = "Neil";

    }

}
bootstrap(AppComponent);

但是,当我尝试添加字符串数组并尝试使用ng for显示它们时,它会抛出以下错误:

Can't bind to 'ng-forOf' since it isn't a known native property ("
    <p>Friends:</p>
    <ul>
        <li [ERROR ->]*ng-for="#name of names">
        {{ name }}
        </li>
"): AppComponent@4:16
Property binding ng-forOf not used by any directive on an embedded template ("
    <p>Friends:</p>
    <ul>
        [ERROR ->]<li *ng-for="#name of names">
        {{ name }}
        </li>
"): AppComponent@4:12

以下是代码:

import { Component, View, bootstrap } from 'angular2/angular2';

@Component({
    selector: "my-app"
})

@View({
    template: `
        <p>My name: {{ myName }}</p>
        <p>Friends:</p>
        <ul>
            <li *ng-for="#name of names">
                {{ name }}
            </li>
        </ul>
    `,
    directives: [ NgFor ]
})

class AppComponent {
    myName: string;
    names: Array<string>;
    constructor() {
        this.myName = "Neil";
        this.names = ["Tom", "Dick", "Harry"];
    }

}
bootstrap(AppComponent);

我错过了什么?

共有3个答案

许出野
2023-03-14

在Angular2 beta中,ng for不正确。它应该是*ngFor

施靖
2023-03-14

角度2.1.0

这似乎是一样的,只是你应该在你的应用模块中导入BrowserModule,在其他模块中导入CommonModule(加载时不能导入两次BrowserModule)。

带角度2 rc5:

这个版本引入了NgModules,您需要在您的模块中导入BrowserModule才能使用ngForngIF

BrowserModule注册关键应用程序服务提供商。它还包括NgIf和NgFor等通用指令,这些指令在本模块的任何组件模板中都会立即可见并可用。

例子:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';


@NgModule({
  imports: [BrowserModule],
  providers: [],
  exports: [],
  declarations: []
})
export class MyModule { }
冀子石
2023-03-14

如果您使用alpha 52,请查看GitHub存储库中的CHANGELOG. md。他们将模板更改为区分大小写的ngFor而不是ng-for(类似于所有其他指令)

元素名称,如

在里面

@NgModule({
  imports: [CommonModule],

或者如果您不介意模块被锁定为仅限浏览器

@NgModule({
  imports: [BrowserModule],

WorkerAppModule一样,BrowserModule导出通用模块

使现代化

应在应用程序模块中导入BrowserModule,而在其他模块中应导入CommonModule

 类似资料:
  • 我的html模态组件中有以下代码: 但是我得到了以下错误: 我在网上看过其他人的解决方案,他们建议导入表单模块、反应式表单模块和通用模块,但我已经在模式模块中导入了这些解决方案 有没有人对我如何摆脱这个错误还有其他建议?

  • 我正在尝试在表中显示来自数据库的一些数据,我遇到了这个错误,我在网上找到的唯一解决方案是导入通用模块和NgModule,我已经在做了,所以我不明白出了什么问题。这只发生在这个组件中,而不是在同一个模块中的其他组件中: 我收到的数据: admin.component.ts: 管理组成部分html:

  • 是的,这可能是第一百次有人遇到这个问题,但没有解决办法对我有效。。。 我使用角2.0.0 rc和什么都不会工作,我想我错过了一些东西,但我不知道是什么 这是我的文件,它们都可以正确传输,是的,我尝试使用不推荐的路由,是的,我根据文档做了,两者都不起作用。 app.component.ts 主要的ts 指数html 其余的文件几乎都是教程中的复制粘贴,所以我不会用更多的代码来垃圾邮件。。。 更新,我

  • 我必须动态地创建一个复选框列表 无法绑定到“for”,因为它不是已知的本机属性 angular2 新错误消息 未处理的promise拒绝:模板分析错误:无法绑定到“for”,因为它不是“label”的已知属性。 这是我的plnkr显示错误:http://plnkr.co/edit/aAQfWvHc7h7IBuYzpItO?p=preview 我的代码中哪里出错了?

  • 当试图用电话号码填充简单的无线电组列表时 无法绑定到“ngForOf”,因为它不是“离子项”的已知属性。 问题与角9有关。可能的解决方案是,BrowserMoules和Common模块需要到位。我想我明白了。然而,错误仍然存在。 爱奥尼亚信息: 加上数字。页ts add-number.module.ts 加上数字。页html 你知道怎么解决这个问题吗? . 编辑:https://pastebin.

  • 我已经将我的应用程序从Angular 2升级到Angular 6版本。ng build--prod正在成功构建应用程序。我能够登录到我的应用程序和50%的功能是完美的工作,在一些选项不工作和抛出下面的异常: