Angular2 - 未捕获的ReferenceError:未定义ng

时间:2016-01-11 17:27:00

标签: javascript angular

我试图运行一个基本的Angular2应用。但是,当我使用live-servernpm start运行应用时,当前遇到以下错误:

Uncaught ReferenceError: ng is not defined

enter image description here

我安装了最新的Angular2 npm。这是我的标记:

<html>
    <head>
        <title></title>
        <script src="https://rawgithub.com/systemjs/systemjs/0.19.6/dist/system.js"></script>
        <script src="https://code.angularjs.org/tools/typescript.js"></script>
        <script src="https://code.angularjs.org/2.0.0-beta.0/angular2-polyfills.js"></script>
        <script src="https://code.angularjs.org/2.0.0-beta.0/Rx.js"></script>
        <script src="https://code.angularjs.org/2.0.0-beta.0/angular2.dev.js"></script>

        <script src="node_modules/angular2/bundles/angular2.dev.js"></script>
        <script src="app.js"></script>
    </head>
    <body>
        <first-comp></first-comp>
    </body>
</html>

我的app.js文件:

var FirstComponent = ng.
    Component({
        selector: 'first-comp'  
    })
    .View({
        template: '<h2>I am learning {{ myFramework }}</h2>'
    })
    .Class({
        constructor: function() {
            this.myFramework = "Angular2";
        }
    });

document.addEventListener('DOMContentLoaded', function() {
    ng.bootstrap(firstComponent);
});

1 个答案:

答案 0 :(得分:2)

自:

https://angular.io/guide/quickstart

你缺少boot.js文件,在你开始使用它之前引导整个文件,在你的文件中你在加载DOM之前使用ng对象(DOMContentLoaded)。这就是你打开包装的原因:

document.addEventListener('DOMContentLoaded', function() {
    ng.bootstrap(firstComponent);
});