用ES5编写Angular v2(1)”你好,世界”

※目前不建议使用这种方法

Angular v2已从Beta版升级为RC版。期待它的正式发布。

1. 从X系的改变到采用Typescript等,迁移工作需要学习很多,很辛苦。

首先,我思考着能否在现有的JavaScript上运行。尽管有些笨拙,我打算以”用ES5编写Angular2″为题目进行介绍。

Angular v2的获取

如果您可以自行进行npm安装或者构建,我建议您这样做(以便使用最新版本)。如果您无法这样做,或者想快速运行Angular v2,则可以考虑使用CDN。

html:使用 Angular v2 Beta.17 的示例


你好世界,我来制作一个样例。

首先,我们来写HTML部分。
由于Angular v2是面向组件的,所以内容非常简单。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/Rx.umd.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/angular2-polyfills.min.js"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/angular2-all.umd.dev.js"></script>
        <script src="hello-component.js"></script>
    </head>
    <body>
        <hello-component></hello-component>
    </body>
</html>

接下来是JavaScript的部分。

'use strict';
(function() {
    var app = ng.core
    .Component({
        selector: 'hello-component'
    })
    .View({
        template: '<p>Hello, {{name}} !</p>'
    })
    .Class({
        constructor: function() {
            this.name = 'world';
        }
    });
    document.addEventListener('DOMContentLoaded', function() {
        ng.platform.browser.bootstrap(app);
    });
})();

在Component中,需要写入组件名称,在View中,需要写入用于显示的HTML模板,在Class中,需要写入数据模型的关联和处理内容。

当您运行此代码时,应该会显示“Hello, world!”。

总结

我成功地在ES5上运行了Angular v2。
虽然这次只是一个简单的示例,但我计划在下次做更多不同的事情。

bannerAds