ecmascript-6 - 如何修复嵌入模板上的任何指令未使用的属性绑定(bind) ng-forOf?

标签 ecmascript-6 angular angular2-directives angular2-template

我正在尝试设置一个简单的 ng-for以 Angular 遍历项目列表,但陷入困境。我已经尝试过 Angular2 exception: Can't bind to 'ngFor' since it isn't a known native property 中的解决方案(修复缺失的 # )但没有成功。

EXCEPTION: Template parse errors:
Can't bind to 'ng-forOf' since it isn't a known native property ("<div class="ui link cards">
    <div class="card" [ERROR ->]*ng-for="#project of projects">
        <div class="image">
            <img src="{{project.illustrat"): Projects@1:22
Property binding ng-forOf not used by any directive on an embedded template ("<div class="ui link cards">
    [ERROR ->]<div class="card" *ng-for="#project of projects">
        <div class="image">
            <img src="{"): Projects@1:4

index.js

import * as stylesheet from '../assets/styles/app.scss';

import $ from 'jquery';
import jQuery from 'jquery';
// export for others scripts to use
window.$ = $;
window.jQuery = jQuery;


import 'zone.js/lib/browser/zone-microtask';
import 'reflect-metadata';
import 'babel-polyfill';

import {provide} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser';

import {App} from './app.component.js'
bootstrap(App, []);

app.component.js

import {Component} from 'angular2/core';
import {Projects} from '../app/projects/projects';

@Component({
    selector: 'my-app',
    template: '<projects>Loading...</projects>',
    directives: [Projects]
})

export class App {
    constructor(projects:Projects) {
        this.projects = projects;
        console.log(this.projects);
    }
}

index.html

<html>
<body>
    <my-app>
          <ng-content></ng-content>
    </my-app>
<script src="dist/app.js"></script>
</body>
</html>

project.js

import {Component, View} from 'angular2/core';
import {NgFor} from 'angular2/common';

@Component({
    selector: 'projects, [projects]'
})
@View({
    //templateUrl: '/app/projects/projects.html',
    directives: [NgFor],
    template: "<div *ng-for='#project of projects'> <p>{{project.description}} </div>",
})
export class Projects {
    constructor() {
        this.projects = [
            {
                "customer": "Matt Giampietro",
                "description": "Lorem ipsum dolor sit amet…",
                "name": "project #1"
            },
            {
                "customer": "test",
                "description": "Lorem ipsum dolor sit amet…",
                "name": "project #2"
            }
        ]
    }
}

问题

  • 如何解决这个问题?
  • 内部/外部模板均失败( templateUrl)

最佳答案

ng-for 在最近的 Angular 版本中不正确。 模板已更改为区分大小写。现在应该是 ngFor

另请参阅Can't bind to 'ng-forOf' since it isn't a known native property

关于ecmascript-6 - 如何修复嵌入模板上的任何指令未使用的属性绑定(bind) ng-forOf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34528943/

相关文章:

performance - React - 解构时的 defaultProps 与 ES6 默认参数(性能问题)

javaScript 函数 - 为什么我的默认参数失败?

Angular 7 : Throttling navigation to prevent the browser from hanging

javascript - 带 Canvas 的 Bootstrap 模态无法正确显示响应式设计

css - Angular2 获取窗口宽度 onResize

angular - 如何在 angular 2 指令中有条件地插入/删除主机 DOM 元素

javascript - ES6 Promise 替换 async.eachLimit/async.mapLimit

javascript - 父节点上的事件监听器也在所有子节点上触发

javascript - 以 Angular 每 x 秒一次的 http 请求

angular - 如何在登录页面中以 Angular 2 实现 "remember me"