您身边的网站建设专家
成功案例

【建站服务】贵州设计网页公司-域名申请

日期: 2022-09-21 06:03:08 浏览数:10


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


贵州设计网页公司

网站建设.png

绑定到用户输入事件

我们可以使用 Angular 事件绑定机制来响应任何 DOM 事件 。

以下实例将绑定了点击事件:

<button (click)="onClickMe()">点我!</button>

等号左边的 (click) 表示把该按钮的点击事件作为绑定目标 。 等号右边,引号中的文本是一个 模板语句

完整代码如下:

app/click-me.component.ts 文件:

import { Component } from '@angular/core'; @Component({  selector: 'click-me',  template: `    <button (click)="onClickMe()">点我!</button>    {{clickMessage}}`})export class ClickMeComponent {  clickMessage = '';  onClickMe() {    this.clickMessage = '菜鸟教程!';  }}

通过 $event 对象取得用户输入

我们可以绑定到所有类型的事件。

让我们试试绑定到一个输入框的 keyup 事件,并且把用户输入的东西回显到屏幕上。

app/keyup.component.ts (v1) 文件:

@Component({  selector: 'key-up1',  template: `    <input (keyup)="onKey($event)">    <p>{{values}}</p>  `})export class KeyUpComponent_v1 {  values = '';  /*  // 非强类型  onKey(event:any) {    this.values += event.target.value + ' | ';  }  */  // 强类型  onKey(event: KeyboardEvent) {    this.values += (<HTMLInputElement>event.target).value + ' | ';  }}

以上代码中我们监听了一个事件并捕获用户输入,Angular 把事件对象存入 $event 变量中。

组件的 onKey() 方法是用来从事件对象中提取出用户输入的,再将输入的值累加到 values 的属性。


从一个模板引用变量中获得用户输入

你可以通过使用局部模板变量来显示用户数据,模板引用变量通过在标识符前加上井号 (#) 来实现。

下面的实例演示如何使用局部模板变量:

app/loop-back.component.ts 文件:

@Component({  selector: 'loop-back',  template: `    <input #box (keyup)="0">    <p>{{box.value}}</p>  `})export class LoopbackComponent { }

我们在 <input> 元素上定义了一个名叫 box 的模板引用变量。 box 变量引用的就是 <input> 元素本身,这意味着我们可以获得 input 元素的 value 值,并通过插值表达式把它显示在 <p> 标签中。

我们可以使用模板引用变量来修改以上 keyup 的实例:

app/keyup.components.ts (v2) 文件:

@Component({  selector: 'key-up2',  template: `    <input #box (keyup)="onKey(box.value)">    <p>{{values}}</p>  `})export class KeyUpComponent_v2 {  values = '';  onKey(value: string) {    this.values += value + ' | ';  }}

按键事件过滤 ( 通过 key.enter)

我们可以只在用户按下回车 (enter) 键的时候才获取输入框的值。

(keyup) 事件处理语句会听到每一次按键,我们可以过滤按键,比如每一个 $event.keyCode,只有在按下回车键才更新 values 属性。

Angular 可以为我们过滤键盘事件,通过绑定到 Angular 的 keyup.enter 伪事件监听回车键的事件。

app/keyup.components.ts (v3):

@Component({  selector: 'key-up3',  template: `    <input #box (keyup.enter)="values=box.value">    <p>{{values}}</p>  `})export class KeyUpComponent_v3 {  values = '';}

blur( 失去焦点 ) 事件

接下来我们可以使用blur( 失去焦点 ) 事件,它可以再元素失去焦点后更新 values 属性。

以下实例同时监听输入回车键与输入框失去焦点的事件。

app/keyup.components.ts (v4):

@Component({  selector: 'key-up4',  template: `    <input #box      (keyup.enter)="values=box.value"      (blur)="values=box.value">    <p>{{values}}</p>  `})export class KeyUpComponent_v4 {  values = '';}

本文所使用的源码可以通过以下方式下载,不包含 node_modules 和 typings 目录。

源代码下载


Angular 2 表单

本章节我们将为大家介绍如何使用组件和模板构建一个 Angular 表单。


利用 Angular 模板,我们可以创建各种类型表单,例如:登录表单,联系人表单,商品详情表单等,而且我们也为这些表单的字段添加数据校验。


接下来我们一步步来实现表单的功能。


创建项目

导入初始化项目。


完整的项目创建可以参考:Angular 2 TypeScript 环境配置


或者直接下载源代码:点我下载


解压后,修改目录名为angular-forms,修改 angular-forms/package.json 文件中的 "name": "angular-quickstart" 为 "name": "angular-forms"。


完成后,我们执行 cnpm install 来载入依赖包。


创建 Site 模型

以下创建了一个简单的模型类 Site,包含了三个必需字段:id,name,url,一个可选字段:alexa。


在 angular-forms/app 目录下创建 site.ts 文件,代码如下:


app/site.ts 文件:

export class Site {

  constructor(

    public id: number,

    public name: string,

    public url: string,

    public alexa?: number

  ) {  }

}

以下代码中,标为 public 的为公有字段,alexa 后添加一个问号(?)表示可选字段。


创建一个表单组件

每个 Angular 表单分为两部分:一个基于 HTML 的模板,和一个基于代码的组件,它用来处理数据和用户交互。


在 angular-forms/app 目录下创建 site-form.component.ts 文件,代码如下:


app/site-form.component.ts 文件:

import { Component } from '@angular/core';

import { Site }    from './site';

 

@Component({

  moduleId: module.id,

  selector: 'site-form',

  templateUrl: 'site-form.component.html'

})

export class SiteFormComponent {

  urls = ['www.runoob.com', 'www.google.com',

            'www.taobao.com', 'www.facebook.com'];

  model = new Site(1, '菜鸟教程', this.urls[0], 10000);

  submitted = false;

  onSubmit() { this.submitted = true; }

  // TODO: 完成后移除

  get diagnostic() { return JSON.stringify(this.model); }

}

实例中导入了 Component 装饰器和 Site 模型。


@Component 选择器 "site-form" 表示我们可以通过一个 <site-form> 标签,把此表单扔进父模板中。


templateUrl 属性指向一个独立的HTML模板文件,名叫 site-form.component.html。


diagnostic 属性用于返回这个模型的JSON形式。


定义应用的根模块

修改 app.module.ts 来定义应用的根模块,模块中指定了引用到的外部及声明属于本模块中的组件,比如 SiteFormComponent。


因为模板驱动的表单有它们自己的模块,所以我们得把 FormsModule 添加到本应用的 imports 数组中,这样我们才能使用表单。


app/app.module.ts 文件代码如下


app/app.module.ts 文件:

import { NgModule }      from '@angular/core';

import { BrowserModule } from '@angular/platform-browser';

import { FormsModule }   from '@angular/forms';

import { AppComponent }  from './app.component';

import { SiteFormComponent } from './site-form.component';

 

@NgModule({

  imports: [

    BrowserModule,

    FormsModule

  ],

  declarations: [

    AppComponent,

    SiteFormComponent

  ],

  bootstrap: [ AppComponent ]

})

export class AppModule { }

创建根组件

修改根组件文件 app.component.ts,将 SiteFormComponent 放在其中。


app/app.component.ts 文件:

import { Component } from '@angular/core';

 

@Component({

  selector: 'my-app',

  template: '<site-form></site-form>'

})

export class AppComponent { }

创建一个初始 HTML 表单模板

创建模板文件 site-form.component.html ,代码如下所示:


app/site-form.component.html 文件:

贵州设计网页公司


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站