Angular入门教程 | 02组件以及模版

110 阅读2分钟

前一篇文章中已经提到了如何新建组件,我们可以通过命令 ng g component Components /组件名 来创建一个组件,通过这种方式,就会自动帮我们在跟模块里面配置好,不需要我们手动配置。这篇文章我们来看一下这个业务逻辑,以及如何把数据绑定到模版上。
上一篇文章中已经说到了,我们新创建组件之后,可以在组件的ts文件中声明数据 news.component.html

export class NewsComponent implements OnInit {

  public title = '我是新闻组件';
  msg = '我是新闻组件的msg'; //当我们省略前边的public的时候默认是public

  constructor() { }

  ngOnInit(): void {
  }

}

news.component.ts

之后在html中通过{{title}} {{msg}}来使用数据。
标题声明属性的几种方式:
public共有 *(默认)可以在这个类里面使用,也可以在外面使用
protect保护类型 他只有在当前类和它的子类里面可以访问
private私有 只有在当前类才可以访问这个属性

当然我么你在定义数据属性的时候也可以不赋值,我们在下边的构造函数里面进行一个赋值。我们可以通过this来获取到属性,并且修改属性值,比如:

export class NewsComponent implements OnInit {

 public title = '我是新闻组件';
 msg = '我是新闻组件的msg'
 username ='张三'
 public userInfo:any = {
   age:  '20',
   
 }

 public student:any 

 constructor() { 
   this.student = 'lkc',
   this.msg = '大西瓜' //当你在html中使用msg这个属性的时候,这个时候msg的属性值已经变成了大西瓜
 }

 ngOnInit(): void {
 }

}

当我们要绑定属性的时候,我们通过一个 [] 来进行动态绑定。比如

<div title="我是一个div">
    div
</div>
//当你把鼠标放上去之后会发现div会显示title的内容

解析html的时候我们同样需要用到[],不过需要我们在[]里面加上interHTML。比如,

//html模块
<div [interHTML]="car"></div>

//module模块
public car:any = '<h1>解析html</h1>'

接下来是定义数组

//我们在module里面定义数组,记得不要使用var来声明
arr = [1,2,3,4,5]

//当我们遍历数组的时候,我们使用 *ngFor 关键字来遍历
<ul>
     <li *ngFor="let item of arr">
       {{item}}
   </li>
</ul>
对于复杂对象的遍历我们同样采取这种方式,如果是对象里面嵌套数组,然后数组里面还是对象这样的结构,
我们可以在外层ngfor遍历每个对象,然后在内层ngfor便利对象的数组来实现。

这一节的内容就到这里了,接下来还会继续围绕组件进行相关的介绍,下一篇文章再见👋