初探Angular_02 感受添加组件
首先把目光聚焦在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 感受添加组件的更多相关文章
- Angular使用总结 --- 通过指令动态添加组件
之前自己写的公共组件,都是会先引入,需要调起的时候再通过service控制公共组件状态.值.回调函数什么的.但是有一些场景不适合这种方式,还是动态添加组件更加好.通过写过的一个小组件来总结下. 创建组 ...
- 在使用add()方法添加组件到容器时,必须指定将其放置在哪个区域中
BorderLayout是Window.Frame和Dialog的默认布局管理器,其将容器分成North.South.East.West和Center 5个区域,每个区域只能放置一个组件. 在使用ad ...
- Elementui tabs组件内添加组件
1. Elementui tabs组件内添加组件 1.1. 需求 今天的一个需求是在后台框架的基础上添加tab页,结果页面如下 原本上述红框内的内容是不存在的,直接点击左侧菜单栏进行页面跳转,现加了t ...
- SpringBoot系列之Spring容器添加组件方式
SpringBoot系列之Spring容器添加组件方式 本博客介绍SpringBoot项目中将组件添加到Spring容器中的方法,SpringBoot项目有一个很明显的优点,就是不需要再编写xml配置 ...
- 六、spring之通过FactoryBean为ioc容器中添加组件
前面我们已经介绍了几种为容器中添加组件的方法,今天一起学习通过FactoryBean添加组件的方法. 首先我们准备一个类,也就是我们需要注册进spring的ioc容器中的类 类Color: // 不必 ...
- easyui 动态添加组件 要重新渲染
做项目时动态添加组件是常有的事,easyui动态添加组件时样式会失效,这是因为这个组件没有经过 easyui的解析器解析, 比如: <pre name="code" cl ...
- Unity Event Trigger 事件响应(二维,三维)添加组件
EventTrigger 上主要的方法有PointerEnter.PointerExit.PointerDown.PointerUp.PointerClick............都会显示在面板上面 ...
- 【HarmonyOS】【Demo】【JAVA UI】 鸿蒙怎么在Webview上添加组件
在大家HarmonyOS开发中,Webview组件上添加组件可能是很常见的功能了,HarmonyOS的webview和Android的webwiew存在一点点区别,今天来实现这个功能 使用项目布局显示 ...
- 【转】Unity中添加组件的几种方法
http://blog.csdn.net/monzart7an/article/details/23199647 一.在编辑器上面添加一个组件.这个不用多说. 二.在脚本中利用AddComponent ...
随机推荐
- 【校招面试 之 C/C++】第26题 C++ 智能指针(二)之 share_ptr
1.综述 shared_ptr 是一个标准的共享所有权的智能指针, 允许多个指针指向同一个对象. 定义在 memory 文件中(非memory.h), 命名空间为 std. shared_ptr 是为 ...
- 4sum, 4sum closest
4sum [抄题]: [思维问题]: 以为很复杂,其实是“排序+双指针”的最高阶模板 [一句话思路]: [输入量特别大怎么办]: [画图]: [一刷]: 先排序! if (i > 0 & ...
- nginx 反向代理 apache 服务
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时 ...
- 阈值分割与XLD轮廓拼接——第4讲
一.阈值分割 阈值分割算子众多: threshold :这是最基本最简单的阈值算子. binary_threshold :它是自动阈值算子,自动选出暗(dark)的区域,或者自动选出亮(light)的 ...
- PAT 1057 数零壹 (20)(代码+思路)
1057 数零壹(20 分) 给定一串长度不超过 105 的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二 ...
- 765A Neverending competitions
A. Neverending competitions time limit per test 2 seconds memory limit per test 512 megabytes input ...
- iOS.Dev.Support.MultiVersions
如何利用target conditionals和availabilty 如何来区分平台iOS OR Mac “When building for iOS the deployment target i ...
- UI设计必用工具 — AI快捷键大全
01 常用工具 V 选择工具 A 直接选择工具 Y 魔棒工具 Q 套索工具 P 钢笔工具 Z 缩放工具 R 旋转工具 O 镜像工具 M 矩形工具 L 椭圆工具 B 画笔工具 N 铅笔工具 C 剪刀工具 ...
- StartServiceCtrlDispatcher
服务程序通常编写成控制台类型的应用程序,总的来说,一个遵守服务控制管理程序接口要求的程序 包含下面三个函数: 1.服务程序主函数(main):调用系统函数 StartServiceCtrlDispat ...
- Mina 系列(二)之基础
Mina 系列(二)之基础 Mina 使用起来多么简洁方便呀,就是不具备 Java NIO 的基础,只要了解 Mina 常用的 API,就可以灵活使用并完成应用开发. 1. Mina 概述 首先,看 ...