首先把目光聚焦在app这个文件夹里面

1.app.module.ts 这个文件是angular根模块,告诉Angular如何组装应用

// 浏览器解析的模块
import { BrowserModule } from '@angular/platform-browser';
// Angular核心模块
import { NgModule } from '@angular/core';
// 根组件
import { AppComponent } from './app.component'; // NgModule装饰器 @NgModule接收一个元数据(类似一个方法)对象,告诉Angular如何编译和启动应用
@NgModule({
declarations: [ /*配置当前项目运行地组件*/
AppComponent // 如果在这里引入组件后在这里
],
// 配置当前模块运行依赖地其他模块
imports: [
BrowserModule
],
// 配置项目所需地服务
providers: [],
// 指定应用地主视图(成为根组件) 通过引导根AppModule来启动应用,这里一般写根组件
bootstrap: [AppComponent]
})
// 根模块不需要导出任何东西,因为其他组件不需要导入跟模块
export class AppModule { }
 

2.app.component.ts 文件 这个文件相当于一个类

// 引用核心模块里面地Component
import { Component } from '@angular/core'; //这是一个装饰器
@Component({
// 使用这个组件地名称
selector: 'app-root',
// html
templateUrl: './app.component.html',
// css
styleUrls: ['./app.component.scss']
})
export class AppComponent {
constructor() {
// 构造函数
}
}

3. app.component.html  根组件

  这个是根组件,用于装配页面

开始创建组件

  1.按ctrl+`调出控制台

    mkdir src/app/components

    ng g component components/header

  

   当你看到这个的时候,注意最后一更,这里已经修改了app.module.ts

  2.打开文件夹components/header/  可以看到文件

    

  3.打开header.component.ts

import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-header', // 这个是转换为标签组件名称
templateUrl: './header.component.html',
styleUrls: ['./header.component.css']
})
export class HeaderComponent implements OnInit { constructor() { } ngOnInit() {
} }

  4.app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core'; import { AppComponent } from './app.component';
// 当使用命令ng g component components/header 文件时,这里将会将会自动导入到这里
import { HeaderComponent } from './components/header/header.component'; // 装饰器 @NgModule接收一个元数据(类似一个方法)对象
@NgModule({
declarations: [
AppComponent,
HeaderComponent // 其次,命令自动将响应的模块导入
],
imports: [
BrowserModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }

5.修改header.component.html  

<p>
我证明,这里组件生效了
<br/>
header works!
</p>

6.修改app.component.html

<!-- 将响应的组件名称,加上app写成html标签 <app-header></app-header> -->
<app-header></app-header>

7.运行 ng serve --open

由此,第一个组件已经完成了接下来添加第二个组件,证明这家伙就是由组件完成的。

重复执行上面创建组件的步骤,然后修改成这样

运行程序

由此可见,调用组件使用<app-标签名>即可随意组合,这有点像asp.net core的mvc的partial标签

二、初级绑定数据

  在相应的header.component.ts文件的类中添加属性title

  

  然后在相应的页面中使用{{Title}}调用

  

  然后

    

添加组件,和简单的绑定数据到此就结束了。

其实这里可以看到,每个不同的组件组成了页面,这些组件可以复用,可以随意组合。配合typescript更是适合开发大型的项目

初探Angular_02 感受添加组件的更多相关文章

  1. Angular使用总结 --- 通过指令动态添加组件

    之前自己写的公共组件,都是会先引入,需要调起的时候再通过service控制公共组件状态.值.回调函数什么的.但是有一些场景不适合这种方式,还是动态添加组件更加好.通过写过的一个小组件来总结下. 创建组 ...

  2. 在使用add()方法添加组件到容器时,必须指定将其放置在哪个区域中

    BorderLayout是Window.Frame和Dialog的默认布局管理器,其将容器分成North.South.East.West和Center 5个区域,每个区域只能放置一个组件. 在使用ad ...

  3. Elementui tabs组件内添加组件

    1. Elementui tabs组件内添加组件 1.1. 需求 今天的一个需求是在后台框架的基础上添加tab页,结果页面如下 原本上述红框内的内容是不存在的,直接点击左侧菜单栏进行页面跳转,现加了t ...

  4. SpringBoot系列之Spring容器添加组件方式

    SpringBoot系列之Spring容器添加组件方式 本博客介绍SpringBoot项目中将组件添加到Spring容器中的方法,SpringBoot项目有一个很明显的优点,就是不需要再编写xml配置 ...

  5. 六、spring之通过FactoryBean为ioc容器中添加组件

    前面我们已经介绍了几种为容器中添加组件的方法,今天一起学习通过FactoryBean添加组件的方法. 首先我们准备一个类,也就是我们需要注册进spring的ioc容器中的类 类Color: // 不必 ...

  6. easyui 动态添加组件 要重新渲染

    做项目时动态添加组件是常有的事,easyui动态添加组件时样式会失效,这是因为这个组件没有经过 easyui的解析器解析, 比如:   <pre name="code" cl ...

  7. Unity Event Trigger 事件响应(二维,三维)添加组件

    EventTrigger 上主要的方法有PointerEnter.PointerExit.PointerDown.PointerUp.PointerClick............都会显示在面板上面 ...

  8. 【HarmonyOS】【Demo】【JAVA UI】 鸿蒙怎么在Webview上添加组件

    在大家HarmonyOS开发中,Webview组件上添加组件可能是很常见的功能了,HarmonyOS的webview和Android的webwiew存在一点点区别,今天来实现这个功能 使用项目布局显示 ...

  9. 【转】Unity中添加组件的几种方法

    http://blog.csdn.net/monzart7an/article/details/23199647 一.在编辑器上面添加一个组件.这个不用多说. 二.在脚本中利用AddComponent ...

随机推荐

  1. Our Journey of Xian Ends

    Our Journey of Xian Ends https://nanti.jisuanke.com/t/18521 262144K   Life is a journey, and the roa ...

  2. python之文件操作read

    #open函数,该函数用于文件处理,文件操作一共就有三种方法,打开文件#关闭文件, #先来说下打开文件,打开文件的模式有下面几种# 1.r,只读模式 f = open('test.log','r',e ...

  3. iOS - push 或 pop或点击导航栏返回pop指定导航控制器

    以前一直有个很疑惑的问题没有搞清楚 关于ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,比 ...

  4. php的opcode缓存原理

    opcode是什么? 它是一种PHP脚本编译后的中间语言,类似java的字节码.   PHP代码执行(Zend引擎)的步骤如下: 1.Scanning(Lexing) ,将PHP代码转换为语言片段(T ...

  5. 用java创建UDF,并用于Hive

    典型代码如下: 导入UDF类: import org.apache.hadoop.hive.ql.exec.UDF; public class UpperCassUDF extends UDF{ pu ...

  6. c++ 中的符号与关键字

    符号按照符号的ASC码数值从小到达排列,关键字按照英文字母排序. & [38] 位运算:取地址:左值引用[指针.引用都是可以做类型转换的] #include <iostream> ...

  7. PS、AI、AE常用快捷键大全

    PS,AI,AE最常用的快捷键来了. 注意:Mac用户请自觉把Ctrl换成Command理解就行. 2017 Adobe Photoshop CC 快捷键 2017Adobe Illustrator快 ...

  8. Zookeeper 系列(三)Zookeeper API

    Zookeeper 系列(三)Zookeeper API 本节首先介绍 Zookeeper 的 Shell 命令,再对 Java 操作 Zookeeper 的三种方式进行讲解,本节先介绍 Zookee ...

  9. asp.net状态保持

    1.首先如果不是asp.net webform而只是一个纯粹的html页面和ashx一般处理程序的话,因为http协议的无状态,每一次的页面请求都会重新实例化一个页面对象(注意实例化页面对象其实是通过 ...

  10. Windows游戏找不到了怎么办?

         大家有的时候,可能是不慎操作,或是某些新装的Windows,会发现那些经典的游戏不见了,那它们去哪了呢?是长腿跑了?还是Windows偷工减料?都不是,让巩固来教你们把他们找出来! 1.在开 ...