Angular2 Selector не соответствует ни одному элементу с комплектом и ECM6

У меня очень простой проект angular2, настроенный для работы с Gulp, Bundle и ECM6. Bundle создаст большой файл, который содержит переведенный ECM5 angular плюс мое приложение.

<!DOCTYPE html>
<html>
<head>
    <title>Angular 2 Test</title>
    <script src="bundle.js"></script>
</head>

<body>
<mainapp>

</mainapp>
</body>
</html>

Угловое приложение определяется следующим образом:

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

export class mainComponent {
    static get annotations() {
        return [
            new Component({
                selector: 'mainapp'
            }),
            new View({
                template: `<div>Hello!</div>`
            })
        ];
    }
}

bootstrap(mainComponent);

Однако, когда я загружаю его, я продолжаю получать ошибку

"selector 'mainapp' did not match any element"

1 ответ

Решение

Проблема была в том, что я включал bundle.js перед mainapp Компонент был определен в HTML. Это решило проблему.

<!DOCTYPE html>
<html>
<head>
    <title>Angular 2 Test</title>

</head>

<body>
<mainapp>

</mainapp>
<script src="bundle.js"></script>
</body>
</html>

Обновить:

<script src="bundle.js" defer></script>

Кажется, также решить проблему независимо от порядка элементов.

Другие вопросы по тегам