Angular学习系列二:显示数据

使用vscode打开前期准备的项目

1:创建header组件:

ng g component components/header

2:在app.component.html中,引用该标签:

<app-header></app-header>

3:数据绑定  :  属性,数据,带有标签数据,数据循环,图片,ngSwitch,ngClass,事件(click,keydown,keyup),双向数据绑定

前端界面(header.component.html )代码:

  1 <p>{{title}}</p>
  2 <table [ngClass]="{‘tableborder‘ : true}">
  3     <tr>
  4         <td>1:测试属性</td>
  5         <td>
  6
  7             <div [title]="student.name">
  8                 测试属性
  9             </div>
 10         </td>
 11     </tr>
 12     <tr>
 13         <td>2:测试数据读取</td>
 14         <td>{{student.content}}</td>
 15     </tr>
 16     <tr>
 17         <td>3:测试显示带有html标签的文本</td>
 18         <td>
 19             <div [innerHtml]=‘student.content‘ class="red">
 20
 21             </div>
 22         </td>
 23     </tr>
 24     <tr>
 25         <td>4:测试ngfor循环</td>
 26         <td>
 27
 28             <ul>
 29                 <li *ngFor="let item of arr">
 30                     {{item}}
 31                 </li>
 32             </ul>
 33             <ul>
 34                 <li *ngFor="let item of arr2">
 35                     {{item}}
 36                 </li>
 37             </ul>
 38             <ul>
 39                 <li *ngFor="let item of arr3">
 40                     {{item}}
 41                 </li>
 42             </ul>
 43             <ul>
 44                 <li *ngFor="let item of arr4">
 45                     {{item}}
 46                 </li>
 47             </ul>
 48             <ul>
 49                 <li *ngFor="let item of arr5">
 50                     {{item.name}}
 51
 52                     <ol>
 53                         <li *ngFor="let item2 of item.books">
 54                             {{item2}}
 55                         </li>
 56                     </ol>
 57                 </li>
 58             </ul>
 59
 60         </td>
 61     </tr>
 62     <tr>
 63         <td>
 64             5:测试图片绑定</td>
 65         <td>
 66             <img src=‘assets/images/1.png‘ />
 67
 68             <img [src]=‘imgurl‘ /></td>
 69     </tr>
 70     <tr>
 71         <td>6:测试:ngswitch:</td>
 72         <td>
 73             <div [ngSwitch]="status">
 74                 <div *ngSwitchCase="1">ngswitch case 1</div>
 75                 <div *ngSwitchCase="2">2</div>
 76                 <div *ngSwitchDefault>output2</div>
 77             </div>
 78         </td>
 79     </tr>
 80     <tr>
 81         <td>7:测试ngClass</td>
 82         <td>
 83             <div [ngClass]="{‘red‘: true}">ng class 测试 颜色</div>
 84             <div [ngClass]="{‘red‘: flag}">ng class 测试 颜色 flag</div>
 85         </td>
 86     </tr>
 87     <tr>
 88         <td>
 89             8:事件 click,keydown,keyup
 90         </td>
 91         <td>
 92             <button (click)="setData()">设置数据</button>
 93             <button (click)="getData()">获取数据</button>
 94             <input (keydown)="keydown($event)" placeholder="键盘按下" />
 95             <input (keyup)="keyup($event)" placeholder="键盘抬起" />
 96             <button (click)="runEvent($event)">执行方法,获取事件对象,操作dom</button>
 97         </td>
 98     </tr>
 99     <tr>
100         <td>
101             <div ></div>
102             9:双向数据绑定
103             <br>
104
105             1:app.module.ts
106             <br>
107             引入 import  FormsModule from ‘@angular/forms‘;
108             <br>
109             imports:      FormsModule
110
111         </td>
112         <td>
113           <input type=‘text‘ [(ngModel)]="inputwords"/>
114         {{inputwords}}
115         </td>
116     </tr>
117     <tr>
118         <td></td>
119         <td></td>
120     </tr>
121 </table>

组件(header.component.ts)代码:

 1 import { Component, OnInit } from ‘@angular/core‘;
 2
 3 @Component({
 4   selector: ‘app-header‘,
 5   templateUrl: ‘./header.component.html‘,
 6   styleUrls: [‘./header.component.css‘]
 7 })
 8 export class HeaderComponent implements OnInit {
 9
10   title: string = "header page";
11   student: any = {
12     name: "xiaoming",
13     age: 19,
14     content: "<h1>解析带有标签的html文本<h1>"
15   };
16   arr = [111, 222, 333, 444];
17   arr2: any = [‘xx‘, 111];
18   arr3: Array<any> = [111, ‘eeadf‘, 3333];
19
20   //推荐写法
21   public arr4: Array<string> = [‘xx‘, ‘xxx‘, ‘xxxxx‘];
22
23   public arr5: Array<any> = [{
24     name: "xiaoming",
25     age: 19,
26     content: "<h1>解析带有标签的html文本<h1>",
27     books: [‘明仁宗‘, ‘钢铁‘, ‘救赎‘]
28   }, {
29     name: "xiaoming2",
30     age: 19,
31     content: "<h1>解析带有标签的html文本<h1>",
32     books: [‘明仁宗‘, ‘钢铁‘, ‘救赎‘]
33   }, {
34     name: "xiaoming3",
35     age: 19,
36     content: "<h1>解析带有标签的html文本<h1>",
37     books: [‘明仁宗‘, ‘钢铁‘, ‘救赎‘]
38   }];
39
40   imgurl: string = "http://mobile.12306.cn/weixin/resources/weixin/images/mail/mail_top.jpg";
41
42   public status: number = 1;
43
44   public flag: boolean = true;
45
46
47   constructor() { }
48
49   ngOnInit() {
50   }
51   getData() {
52
53     alert(this.student.name);
54
55   }
56   setData() {
57     this.student.name = "xiaoming-changed";
58   }
59
60   keydown(event) {
61
62     console.log(event);
63   }
64   keyup(event) {
65
66     console.log(event);
67   }
68
69   runEvent(e) {
70     var dom: any = e.target;
71     dom.style.color = ‘red‘;
72
73   }
74   inputwords: any = "我是默认值";
75 }

界面效果:

原文地址:https://www.cnblogs.com/hanliping/p/12150419.html

时间: 2024-08-01 20:33:53

Angular学习系列二:显示数据的相关文章

angular学习笔记(二十八)-$http(6)-使用ngResource模块构建RESTful架构

ngResource模块是angular专门为RESTful架构而设计的一个模块,它提供了'$resource'模块,$resource模块是基于$http的一个封装.下面来看看它的详细用法 1.引入angular-resource.min.js文件 2.在模块中依赖ngResourece,在服务中注入$resource var HttpREST = angular.module('HttpREST',['ngResource']); HttpREST.factory('cardResource

angular学习笔记(二十七)-$http(5)-使用$http构建RESTful架构

在angular中有一个特别为RESTful架构而定制的服务,是在$http的基础上进行了封装. 但是为了学习,我们先看看用直接$http是如何构建RESTful架构的: 假设有一个银行卡的列表.需要的功能有: 可以通过id来获取用户123的指定id的卡     'GET'  'card/user/123/id' 可以获取用户123的所有的银行卡             'GET'  'card/user/123' 可以更新用户123的指定id的卡                'POST' '

ASP.NET MVC学习系列(二)-WebAPI请求

继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax({type:"get"}) 来实现: 请求的后台Action方法仍为上篇文章中的GetU

angular学习笔记(二十三)-$http(1)-api

之前说到的$http.get和$http.post,都是基于$http的快捷方式.下面来说说完整的$http: $http(config) $http接受一个json格式的参数config: config的格式如下: { method:字符串 , url:字符串, params:json对象, data:请求数据, headers:请求头, transformRequest:函数,转换post请求的数据的格式, transformResponse:函数,转换响应到的数据的格式, cache:布尔

angular学习笔记(二十六)-$http(4)-设置请求超时

本篇主要讲解$http(config)的config中的timeout项: $http({ timeout: number }) 数值,从发出请求开始计算,等待的毫秒数,超过这个数还没有响应,则返回错误 demo: html: <!DOCTYPE html> <html ng-app = 'HttpGet'> <head> <title>18.4 $http(2)</title> <meta charset="utf-8"

angular学习笔记(二十八-附2)-$resource中的promise对象

下面这种promise的用法,我从第一篇$http笔记到$resource笔记中,一直都有用到: HttpREST.factory('cardResource',function($resource){ return $resource('/card/user/:userID/:id',{userID:123,id:'@id'},{charge:{method:'POST',params:{charge:true},isArray:false}}) }); HttpREST.factory('h

angular学习笔记(二十八-附1)-$resource中的资源的方法

通过$resource获取到的资源,或者是通过$resource实例化的资源,资源本身就拥有了一些方法,比如$save,可以直接调用来保存该资源: 比如有一个$resource创建的服务: var service = angular.module('myRecipe.service',['ngResource']); service.factory('Recipe',['$resource',function($resource){ return $resource('/recipe/:id',

angular学习笔记(二十五)-$http(3)-转换请求和响应格式

本篇主要讲解$http(config)的config中的tranformRequest项和transformResponse项 1. transformRequest: $http({ transformRequest: function(data){ //对前台发送的data进行处理 return data } }) 这个在测试的时候遇到了很大的问题.只要经过transformRequest函数处理,哪怕是不做任何处理,node后台都会报错,需要尝试使用php 2. transformResp

angular学习笔记(二十四)-$http(2)-设置http请求头

1. angular默认的请求头: 其中,Accept 和 X-Requested-With是$http自带的默认配置 2. 修改默认请求头: (1) 全局修改(整个模块) 使用$httpProvider依赖 var myApp = angular.module('MyApp',[]); myApp.config(function($httpProvider){ console.log($httpProvider.defaults.headers.common) //修改/操作$httpProv