首页 文章

我的Angular 2应用程序(TypeScript)出了什么问题

提问于
浏览
0

我有一个组件 EventListComponent

import { Component } from 'angular2/core';

@Component ({
    selector: 'el-events',
    templateUrl: 'app/events/event-list.component.html'
})

export class EventListComponent {
    pageTitle: string = 'Events List';
}

哪个应该在 AppComponent 中呈现

import { Component } from 'angular2/core';
import { EventListComponent } from './events/event-list.component';

@Component({
    selector: 'events-app',
    template: `
    <div>
        <h1>{{pageTitle}}</h1>
        <el-events></el-events>
    </div>`,
    directives: [ EventListComponent ]
})

export class AppComponent {
    pageTitle: string = 'Local Events App';
}

IDE表示,指令,选择器,导入/导出和整个装饰器是相互关联的 . 是的,我使用带有指令的旧Angular 2版本,这是课程要求 .

所以,有's a problem - page doesn' t显示组件 . 这是错误:
enter image description here

项目树是这样的:

enter image description here

我发现当我添加 directives 时会发生错误,所以问题就在这里 . 角度版本是:

"dependencies": {
"angular2": "2.0.0-beta.15"
}

UPD Index.html

<!DOCTYPE html>
<html>

<head>
    <title>Local Events App</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link href="node_modules/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
    <link href="app/app.component.css" rel="stylesheet" />

    <!-- 1. Load libraries -->
    <!-- IE required polyfills, in this exact order -->
    <script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
    <script src="node_modules/es6-shim/es6-shim.min.js"></script>
    <script src="node_modules/systemjs/dist/system-polyfills.js"></script>

    <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>
    <script src="node_modules/rxjs/bundles/Rx.js"></script>
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script>

    <!-- 2. Configure SystemJS -->
    <script>
        System.config({
        packages: {        
          app: {
            format: 'register',
            defaultExtension: 'js'
          }
        }
      });
      System.import('app/main')
            .then(null, console.error.bind(console));
    </script>
</head>

<body>
    <events-app>
        Loading App...
    </events-app>
</body>

</html>

event-list.component.html

<div class 'panel panel-primary'>
    <div class='panel-heading'>
        {{pageTitle}}
    </div>
    <div class='panel-body'>
        <div class='row'>
            <div class='col-md-2'></div>
            <div class='col-md-4'>
                <input type="text" />
            </div>
        </div>
        <div class='row'>
            <div class='col-md-6'>
                <h3>Search by: </h3>
            </div>
        </div>
    </div>
    <div class='table-responsive'>
        <table class='table'>
            <thead>
                <tr>
                    <th>
                        <button class='btn btn-primary'>
                            Show image
                        </button>
                    </th>
                    <th>Event</th>
                    <th>Code</th>
                    <th>Date</th>
                    <th>Fee</th>
                    <th>Rating</th>
                </tr>
            </thead>
            <tbody>

            </tbody>
        </table>
    </div>
</div>

1 回答

  • 2

    您在 event-list.component.html 中缺少 =

    <div class 'panel panel-primary'>
    

    它应该是

    <div class='panel panel-primary'>
    

相关问题