前言

上一节我们已经把环境给搭建起来了,现在我们通过一个快速案例把angular 2.0 初步了解一下,后续我们会深入每一个细节,这个案例主要是一个【英雄(Hero)】列表的展示,创建,编辑。这个案例我打算分五个章节来做,第一个章节我们可以学习到angular2.0一下内容:

  • 单项数据绑定
  • 双向数据绑定

组织代码

1.在app.component.ts 文件添加 如下内容

AppComponent 下添加两个属性

export class AppComponent{
public title: string = '英雄展示';
public hero: string = '英雄';
}

@componenttemplate 属性下更改我们的模板,我们用了typescript 的多行字符串

template: `<h1>{{title}}</h1><h2>{{hero}} 详情</h2>`  //用了typescrip 多行字符串 ,要注意

这时候我们浏览会看到已经绑定上我们的数据。

2.创建单独的类实现绑定(单项数据绑定)

目前我们的 英雄 只有一个属性,我们直接在 类 AppComponent 无妨,但当我们属性慢慢增多的时候,我们可以从一个字面字符串转换成一个类。

在app.component.ts 文件添加如下内容

export class Hero{
id:number;
name:string;
}

这时候我们的hero 属性就可以修改成

 hero:Hero = {
id:1,
name:'成龙'
}

模板文件修改成

template: `<h1>{{title}}</h1><h2>{{hero.name}} 详情</h2>`

为了显是更多的属性,我们来修改下模板,添加几个标签

<h2>{{hero.name}}详情!</h2>
<div><label>id:</label>{{hero.id}}</div>
<div>
<label>name:</label>
<input type="text" value="{{hero.name}}" placeholder="name" />
</div>

hero 的名字我们用了一个文本框,但是我们修改文本的时候没有看到 h2 标签的修改,难道我们写错了,不是,原来跟angular1.0 不一样,这不是双向数据绑定,而是单项数据绑定

3. 双向数据绑定

angular 的双向数据绑定是什么样子的呢,接下来我们会用到 angular 的内置指令 ngModel

我们只需修改我们的模板文件

<input type="text" [(ngModel)]="hero.name" placeholder="name" />

用上angular的内置指令,就实现了我们双向数据绑定。

结束语

到这里我们已经实现了简单的数据绑定,下一章节我么会做列表,先上一张效果图。

源码最后我会上传github,如有需要请私聊我。

angularjs 2.0 快速案例(1)的更多相关文章

  1. angularjs 2.0 快速开始

    前言 angularjs2.0 如果发布,公司的项目会基于2.0开发,在1.0的时候就踩了好多坑,趁这2.0还没正式发布,赶紧踩下坑. 这篇文章是参考angularjs2.0 官方文档写的,开发环境需 ...

  2. 转 AngularJS 2.0将面向移动应用并放弃旧浏览器

    AngularJS团队表示“AngularJS 2.0是移动应用的框架”.该框架将继续支持桌面,但其主要关注点变成了移动领域.它的目标还包括通过转译器支持EcmaScript 6(因为浏览器还不支持E ...

  3. Ant Design 3.0 使用案例

    代码地址如下:http://www.demodashi.com/demo/12309.html 本文适合对象 有过React使用经验. 有过webpack使用经验. 了解node. DEMO使用方式 ...

  4. 【转】Vue.js 2.0 快速上手精华梳理

    Vue.js 2.0 快速上手精华梳理 Sandy 发掘代码技巧:公众号:daimajiqiao 自从Vue2.0发布后,Vue就成了前端领域的热门话题,github也突破了三万的star,那么对于新 ...

  5. 八爪鱼招标网的百度权重升为2了,独立IP也从0快速发展为1000

      自八爪鱼招标网上线以来,本着以客户一切利益为出发点,坚持提供国内首个免费招标信息平台为目标,经过各位同事不断地努力,不断收集客户各种各样的招标.采购实际需求,与政府.事业单位及中小型企业一对一的沟 ...

  6. Angular2.0快速开始

    参考资料: Angular2.0快速开始 AngularJS2 教程

  7. 聊天系统Demo,增加文件传送功能(附源码)-- ESFramework 4.0 快速上手(14)

    本文我们将介绍在ESFramework 4.0 快速上手(08) -- 入门Demo,一个简单的IM系统(附源码)的基础上,增加文件传送的功能.如果不了解如何使用ESFramework提供的文件传送功 ...

  8. 可靠通信的保障 —— 使用ACK机制发送自定义信息——ESFramework 通信框架4.0 快速上手(12)

    使用ESPlus.Application.CustomizeInfo.Passive.ICustomizeInfoOutter接口的Send方法,我们已经可以给服务端或其它在线客户端发送自定义信息了, ...

  9. 聊天系统Demo,增加Silverlight客户端(附源码)-- ESFramework 4.0 快速上手(09)

    在ESFramework 4.0 快速上手 -- 入门Demo,一个简单的IM系统(附源码)一文中,我们介绍了使用ESFramework的Rapid引擎开发的winform聊天程序,本文我们将在之前d ...

随机推荐

  1. Shell scripts to Create a local dir base on the time.

    #!/bin/bash DATETIME=`date +%Y%m%d%H%M%S` echo "datetime = $DATETIME" mkdir $DATETIME # cd ...

  2. iOS how to stop a scrolling scrollView

    - (void)killScroll { CGPoint offset = scrollView.contentOffset; offset.y -= 1.0; [scrollView setCont ...

  3. iOS 可执行文件瘦身方法

    编译选项 1.编译器优化级别 Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest,这个选项会开启 ...

  4. [转]retina屏下支持0.5px边框的情况

    2014-12-31更新:截至到IOS8.1,safari仍不支持@supports待safari支持@supports, 就可以利用0.5px了! 2014-7-25更新:1. 修正dpr = 1. ...

  5. 【转】Oracle 执行计划(Explain Plan) 说明

    转自:http://blog.chinaunix.net/uid-21187846-id-3022916.html       如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQ ...

  6. my97DatePicker日期控件——日期输入框联动,使用focus使第二个输入框没展示出日期控件

    描述问题场景: 1.jquery使用的版本是jquery-1.7.2.min.js 2.代码不是写在页面上的,是通过事件后追加的 <!DOCTYPE html> <html> ...

  7. nginx的日常应用

    nginx的配置文件nginx.conf配置详解如下: user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes ; 工作进程:数目. ...

  8. linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本

    最近需要做一个项目 在arm 架构的linux下 没有桌面环境的情况下拉起 有界面的浏览器使用. 考虑用qt 的界面和 qtwebikt 的库去实现这一系列操作. 本文参考: Qt移植到ARM Lin ...

  9. 借助cookie实现子网页修改父网页内容遇到的问题:同一个浏览器访问相同页面,会互相影响。 (已解决)

    问题是这样的,  我把左侧菜单做成了网页, 然后点击左侧菜单选项会改变右侧内容, 也就是子网页访问并修改父网页的内容. 为了兼容性更好, 我没有使用farther,或者opener等方法,  而是用了 ...

  10. Base64 转换 %2B 变 空格 解决

    //此方法转换会转换出错 deString.ServerUrlDecode().Replace(" ", "+") //换此方法完美解决 HttpUtility ...