Angular7教程-06-页面与数据交互
1. 本节说明
本节的内容会在上期搭建的框架基础上进行数据的填充,顺便回顾之前介绍过的插值表达式,属性绑定等知识,本节的数据只是在组件中模拟数据,后面会有专门的章节讲解如何从服务器获取数据。
2. 轮播组件属性绑定
首先把轮播图使用的图片放在项目的src/assets
目录下(图片请自行准备),然后在carousel.component.ts
中定义轮播使用的图片属性:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-carousel',
templateUrl: './carousel.component.html',
styleUrls: ['./carousel.component.css']
})
export class CarouselComponent implements OnInit {
//step2.定义三张图片
private img1:Img;
private img2:Img;
private img3:Img;
constructor() { }
//step3.然后初始化图片
ngOnInit() {
this.img1 = new Img("../assets/1.jpg","图片一");
this.img2 = new Img("../assets/2.jpg","图片二");
this.img3 = new Img("../assets/3.jpg","图片三");
}
}
//step1.定义轮播的图片对象
export class Img {
constructor(
public imgSrc: String,
public imgAlt: String
) {
}
}
carousel.component.html
修改如下:
<div id="carousel-ex" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="carousel-ex" data-slide-to="0" class="active"></li>
<li data-target="carousel-ex" data-slide-to="1"></li>
<li data-target="carousel-ex" data-slide-to="2"></li>
</ol>
<div class="carousel-inner listbox">
<div class="item active">
<!-- 属性绑定 -->
<img [src]="img1.imgSrc" [alt]="img1.imgAlt">
<div class="carousel-caption">
{{img1.imgAlt}}
</div>
</div>
<div class="item">
<img [src]="img2.imgSrc" [alt]="img2.imgAlt">
<div class="carousel-caption">
{{img2.imgAlt}}
</div>
</div>
<div class="item">
<img [src]="img3.imgSrc" [alt]="img3.imgAlt">
<div class="carousel-caption">
{{img3.imgAlt}}
</div>
</div>
</div>
<a href="#carousel-ex" class="left carousel-control" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a href="#carousel-ex" class="right carousel-control" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
页面效果如下:
3.文章组件数据循环
首先修改article.component.ts
初始化文章数据:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-article',
templateUrl: './article.component.html',
styleUrls: [
'./article.component.css'
]
})
export class ArticleComponent implements OnInit {
//step2.声明文章对象数组
private articles: Array<Article>;
constructor() {
}
//step3.初始化数组数据
ngOnInit() {
this.articles = [
new Article(1,"angular常用操作1","admin","本节介绍angular常用操作...",3000,50),
new Article(2,"angular常用操作2","admin","本节介绍angular常用操作...",600,10),
new Article(3,"angular常用操作3","admin","本节介绍angular常用操作...",20,5),
]
}
}
//step1. 定义文章对象
export class Article{
constructor(
public id: number, //文章Id
public title: String, //文章标题
public author: String, //文章作者
public zy: String, //文章摘要
public yd: number, //阅读数
public pl: number //评论数
){
}
}
然后修改article.component.html
内容如下:
<div class="content-wrap">
<div *ngFor="let article of articles" class="article">
<h3 class="title">{{article.title}}</h3>
<p class="zy">
{{article.zy}}
</p>
<p class="info">
<span>2018-11-18 21:15:</span>
<span>阅读数:{{article.yd}}</span>
<span>评论数:{{article.pl}}</span>
</p>
</div>
</div>
页面效果如下所示:
4. 样式绑定的另外一种方法
现在实现这样一个需求,当文章的阅读量超过1000时,文章的标题以红色显示。
首先,我们在article.component.css
中增加样式:
.hot{
color: red !important;
}
然后在article.component.html
中需要添加样式的地方添加如下代码:
<!-- 当article.yd>1000时,h3会加上hot样式,否则不加 -->
<h3 class="title" [class.hot]="article.yd>1000">{{article.title}}</h3>
页面效果如下所示:
Angular7教程-06-页面与数据交互的更多相关文章
- php文件与HTML页面的数据交互
注意:首先需要保证本地配置了php开发环境,如WAMP开发环境 WAMP配置:https://www.cnblogs.com/shiyiaccn/p/9984579.html php获取HTML页面返 ...
- 关于AJAX+HTML5+ASHX进行全静态页面的数据交互
及时总结项目中使用到的知识,知识在于积累. 1.HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...
- 无废话ExtJs 入门教程二十[数据交互:AJAX]
无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...
- H5页面基于接口实现数据交互
对于现在APP开发来说,目前流行的两个方式是原生和H5.就如同之前业界程序猿争论的BS和CS之争一样,业界对于H5和原生也有不小的争论.对于前者的争论在于PC端,后者在于移动端上体现. 那一个APP适 ...
- QtQuick多页面切换、多页面切换动画、多个qml文件数据交互
一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明 ...
- MUI框架-10-MUI 数据交互-跳转详情页面
MUI框架-10-MUI 数据交互-跳转详情页面 上一篇介绍了如何实现数据交互,给别人的 API 发送 ajax 请求,我们得到数据,再使用 art-template 模板引擎拼接 HTML,最终实现 ...
- SpringMVC4+thymeleaf3的一个简单实例(篇五:页面和MySql的数据交互-展示以及存储)
这一篇将介绍怎样把页面数据保存的MySQL数据库,并将数据库内容展示到页面上.首先做一个基础工作,添加以下jar到lib:1: mysql-connector-Java-5.1.40-bin.jar ...
- 《ServerSuperIO Designer IDE使用教程》- 6.增加与阿里云物联网(IOT)对接服务,实现数据交互。发布:v4.2.4 版本
v4.2.4 更新内容:1.增加了对接阿里物联网平台的服务.下载地址:官方下载 6. 增加与阿里云物联网(IOT)对接服务,实现数据交互 6.1 概述 为了满足业务系统数据上云的要求,Se ...
- 《ServerSuperIO Designer IDE使用教程》-2.与硬件网关数据交互,并进行数据级联转发,直到云端。发布:v4.2.1版本
v4.2.1 更新内容:1.重新定义数据转发文本协议,使网关与ServerSuperIO以及之间能够相关交互数据.2.扩展ServerSuperIO动态数据类的方法,更灵活.3.修复Designer增 ...
随机推荐
- RGB与INT类型的转换
开发时遇到的问题,设置图层样式时颜色的返回值是uint,一时不知改怎么转换为C#常用的RGB值了. 一番百度,结果如下: RGB = R + G * 256 + B * 256 * 256 因此可得到 ...
- nginx参考资料
什么是负载均衡? 官网的入门文章中文版 love2上关注数比较高的nginx教程 什么是反向代理,什么又是正向代理? csdn上浅谈Nginx之反向代理与负载均衡 Nginx 作为 WebSocket ...
- java编写银行管理 。ATM管理
package Demo; import java.util.Date; import java.util.Scanner; //date是数据库中的一个用法,初始化后输出的是操作时的时间 publi ...
- sequelize 学习之路
如果你觉得Sequelize的文档有点多.杂,不方便看,可以看看这篇. 在使用NodeJS来关系型操作数据库时,为了方便,通常都会选择一个合适的ORM(Object Relationship Mode ...
- ubuntu搭建LAMP全教程及简单使用
一:安装: 参考:http://jingyan.baidu.com/article/a681b0de36ad683b18434691.html 本经验向你展示如何在ubuntu14.04 环境下搭建a ...
- CAGradientLayer实现图片渐变透明效果
CAGradientLayer实现图片渐变透明效果 要实现的效果如下: 源码: // // RootViewController.m // CAGradientLayer // // Copyrigh ...
- HTML5 拖放、交换位置
设置元素为可拖放 draggable 属性设置为 true: <img draggable="true" /> 拖动什么 - ondragstart 和 setData ...
- [T-ARA][Sugar Free]
歌词来源:http://music.163.com/#/song?id=29343991 作曲 : 新沙洞老虎/범이낭이 [作曲 : 新沙洞老虎/버미낭이] [作曲 : 新沙洞老虎/p/beo-mi- ...
- Salesforce和SAP HANA的元数据访问加速
Salesforce 在Jerry的其他文章曾经提到,Salesforce里运行时对象均是通过静态存储的元数据,经过Runtime engine加工而成的. Because metadata is a ...
- JS实现图片上传之前先预览
<html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat=&quo ...