Angular 2 学习笔记--ControlGroup(控制组)

ControlGroup说明:本人对该指令的理解是在html模版上绑定控制器组,然后在组件类里面操作这些对应的模块,具体查看下面代码,一看就懂。

//our root app component
import {
  Component,
  View,
  Control,
  ControlGroup,
  ControlArray,
  Validators,
  CORE_DIRECTIVES,
  FORM_DIRECTIVES
} from ‘angular2/angular2‘

@Component({
  selector: ‘my-app‘,
})
@View({
  template: `
    <div>
      <h2>Angular2 Control & ControlGroup Example</h2>
      <form [ng-form-model]="formGroup">
        <div ng-control-group="name">
          <h3>Enter your name:</h3>
          <p>First: <input ng-control="first"><span *ng-if="!ctrlFirst.valid"> [required]</span></p>
          <p>Middle: <input ng-control="middle"></p>
          <p>Last: <input ng-control="last"><span *ng-if="!ctrlLast.valid"> [required]</p>
        </div>
        <h3>What‘s your favorite food?</h3>
        <p><input ng-control="food"><span *ng-if="!ctrlFood.valid"> [required]</span></p>
        <h3>Name a few cities:</h3>
        <ul ng-control-group="cities">
          <li *ng-for="#ctrl of ctrlCities; #i = index"><input ng-control="{{i}}"></li>
        </ul>
        <button type="button" (click)="addCity()">Add a city</button>
      </form>
      <h3>Value:</h3>
      <pre>{{cgValue}}</pre>
      <h3>Validity:</h3>
      <pre>{{formGroup.valid}}</pre>
    </div>
  `,
  directives: [CORE_DIRECTIVES, FORM_DIRECTIVES]
})
export class App {
  ctrlFirst: Control = new Control(‘‘, Validators.required);
  ctrlMiddle: Control =  new Control(‘‘);
  ctrlLast: Control =  new Control(‘‘, Validators.required);
  ctrlFood: Control = new Control(‘pizza‘, Validators.required);
  ctrlCities: Control[] = [
    new Control(‘‘),
    new Control(‘‘),
    new Control(‘‘)
  ];
  citiesArray: ControlArray = new ControlArray(this.ctrlCities);

  formGroup: ControlGroup = new ControlGroup({
    name: new ControlGroup({
      first: this.ctrlFirst,
      middle: this.ctrlMiddle,
      last: this.ctrlLast
    }),
    food: this.ctrlFood,
    cities: this.citiesArray
  });

  get cgValue(): string {
    return JSON.stringify(this.formGroup.value, null, 2);
  }

  addCity(): void {
    this.citiesArray.push(new Control(‘‘));
  }
}

  

时间: 2024-12-10 14:36:26

Angular 2 学习笔记--ControlGroup(控制组)的相关文章

[Pro Angular.JS]学习笔记1.1:设置开发环境

可以使用yeoman.io,很方便.我已经写了一篇随笔,介绍如何使用.这里也有一篇介绍的文章:http://www.cnblogs.com/JoannaQ/p/3756281.html 代码编辑器,在Mac下用了一下WebStorm,太恶心了.另外发现书的作者使用的开发环境是Windows + VS Express 2013,为了方便学习,我也使用VS Express 2013 Update2.VS2013用起来蛮舒服的,把WebStorm比得跟驼屎一样.也许是因为我没用习惯吧. 1.安装Nod

Angular JS 学习笔记

特定领域语言 编译器:遍历DOM来查找和它相关的属性, 分为编译和链接两个阶段, 指令:当关联的HTML结构进入编译阶段时应该执行的操作,可以写在名称里,属性里,css类名里:本质上是函数 稳定的DOM:绑定了数据模型的DOM元素的实例不会在绑定的生命周期发生改变 作用域:用来检测模型的改变和为表达式提供执行上下文的 AngularJS 和其它模板系统不同,它使用的是DOM而不是字符串 指令: 由某个属性.元素名称.css类名出现而导致的行为,或者说是DOM的变化 Filter过滤器:扮演着数据

Angular 2 学习笔记(一)

Angular 2 学习笔记(一) First Application 建立自定义组件(Components) 从表单(Form)接受用户输入(input) 渲染对象列表并用视图战事 监听(Intercepting)用户点击事件并执行操作 Getting started TypeScript 建议使用 TypeScript 开始 Angular 2 的编程. Angular 2 有 ES5 API ,但是 Angular 2 是用 TypeScript 写的并且大部分人都在使用 TypeScri

Angular【学习笔记】

1.angular入门网站 感谢@菜鸟教程:http://www.runoob.com/angularjs/angularjs-tutorial.html 学习笔记:

Angular JS学习笔记

之前的学习方法有点盲目,建议以后只看与工作有关的内容,并且多问那些是只和工作有关联的. 遇到问题的时候,项目不急的话,自己研究,项目急的话,马上问. 方法不对,再努力也没有用. Angular JS学习网站:http://www.zouyesheng.com/angular.html#toc7 [  项目有关的内容 ] ng-model ng-click ng-options ng-repeat ng-if ng-show ng-hide ng-controller ng-href(有印象) {

[Cousera Angular JS学习笔记]第一周

最近在给搜索引擎做前台,开始学习Angular JS,直接上coursera上的课程:https://www.coursera.org/learn/angular-js/home/week/1(没有JS基础的同学可以和我一样先过下cousera的JS课程 Interacticity with JavaScript) 要先安装bower(方便获取JS),安装bower之前要先安装node JS (1) 安装nodejs过程直接参考http://czpae86.iteye.com/blog/1636

angular.js学习笔记--概念总结

好久没更新了,现在开始学习学习angularjs,并且把学习到的一些知识总结记录一下,方便以后查找以及希望能给初学者一些帮助!(由于本人也是初学ng所以各位慎重理解!) 废话不多说,开始! $rootScope 和 $scope: $rootScope是angular中最接近全局作用域的对象,是所有$scope对象的最上层! $scope对象就是一个普通的js对象,我们可以在其上随意修改和添加属性,并且其在angular中充当数据模型,它是所有属性都可以自动呗视图访问到,但是它并不负责数据的处理

[Cousera Angular JS学习笔记]第一周(2)

之前写了一个简单的angular的页面,这边主要要学习几个用法:controller,filter (1)第一个练习主要是把原来的ng-init的内容移到controller 首先定义module名称 <html lang="en" ng-app="confusionApp"> 然后初始化module和controller,是在script标签下面 <script> var app = angular.module('confusionApp

Angular JS 学习笔记(一)

1. 菜鸟教程:http://www.runoob.com/angularjs/angularjs-tutorial.html 2. Angular JS中文网:http://www.apjs.net/