二,angular2 for javascript 显示数据 用户输入

作者: wxfeng 分类: web前端 发布时间: 2018-12-07 00:00    阅读 1,436 次

angular2稳定版发布有段时间了,最近一直寻找关于angular2 for javascript方面的教程文档,发现大多是采用的typescript,官网也只是给了一个angular2 for javascript开发环境的构建,后续的教程内容都还没有发布.所以打算自己摸索下angular2 for javascript,于是有了这篇文章.

因为在搜索相关资料时,有位朋友说:" Everything that we can do in Angular 2 in TypeScript,
we can also do in JavaScript."
这位朋友并没有说具体的实现方法,但是,听到这句话,还是给了我很大的往下摸索的信心,所以文章是参照官网的流程来走的.

关于angular2 for javascript是否适合实际的项目开发以及下文所阐述的知识点准确与否,还请各位看客多提宝贵意见.闲话不叙,切入正题.

1,angular2 for javascript开发环境的构建

请参阅之前整理的文章<<Anjular2 for JavaScript 开发环境搭建>>

2,显示数据-用户输入 –angular2 for javascript开发

因为相对第一步只是修改了组件(app.component.js),添加了一个模板文件(input.html)的代码,所以这里只列出这两个文件,其余文件请移步第一步进行查看.

app.component.js

(function(app) {
    app.AppComponent =    ng.core.Component({
        selector: 'my-app',
        //引入外部模板文件input.html
        templateUrl:'input.html'
    })
    .Class({
        constructor: function() {
              this.title = 'Tour of Heroes';
                this.heroes = ['Windstorm', 'Bombasto', 'Magneta', 'Tornado'];
              this.myHero = this.heroes[3];
              this.clickMessage = '';
              this.values = '';
              this.value = '';
        },
        onClickMe:function(){
            this.clickMessage = 'You are my hero!';
        },
        onKey:function(event) {
            this.values += event.target.value + ' | ';
        },
          update:function(value) { 
              this.value = value; 
        }
    });
})(window.app || (window.app = {}));

 input.html

注意文件路径:/var/www/angular/angular2-quickstart/input.html,即与index.html路径保持一致

Everything that we can do in Angular 2 in TypeScript, we can also do
in JavaScript."
   
    <h1>{{title}}</h1>
    <h2>My favorite hero is: {{myHero}}</h2>
    <h3>循环输出:</h3>    
    <p>Heroes:</p>
    <ul>
      <li *ngFor="let hero of heroes">
        {{ hero }}
      </li>
    </ul>
<!--绑定到用户输入事件-->   
    <h3>绑定到用户输入事件:</h3>     
    <button (click)="onClickMe()">Click me!</button>
    {{clickMessage}}


<!--通过 $event 对象取得用户输入-->
    <h3>通过 $event 对象取得用户输入:</h3> 
    <input (keyup)="onKey($event)">
    <p>{{values}}</p>

<!--从一个模板引用变量中获得用户输入-->
    <h3>从一个模板引用变量中获得用户输入:</h3> 
    <input #box (keyup)="0">
    <p>{{box.value}}</p>


<!--按键事件过滤(通过key.enter)-->
<!--失去焦点事件 (blur)-->    
    <h3>按键事件过滤(通过key.enter&&失去焦点):</h3> 
    <input #boxs (keyup.enter)="update(boxs.value)" (blur)="update(boxs.value)">
    <p>{{value}}</p>

实验结果

火狐截图_2016-12-21T14-20-37.280Z.png

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。