阅读官方文件 Angular Components Overview 的笔记内容。
Angular 专案大致上都是由各个大大小小的元件所组成的。
在每一个元件中大致上都是有以下的内容所组成的
如果,你是在 Angular CLI 的专案状态下要新创一个元件的话,是非常简单的喔,
你只要在终端机为该专案输入以下指令 ng generate component <component-name>
,
或者输入简写指令 ng g c <component-name>
,两者的效果都一样,会在你的专案中产出一个 component-name 的元件资料夹,可以在这个元件资料夹底下看到以下的档案
<component-name>.component.ts
: 用来定义该元件的行为<component-name>.component.html
: 用来定义该元件的 html 内容<component-name>.component.css
: 定义该元件的 css 样式<component-name>.component.spec.ts
: 用来撰写这个元件的测试设定在官方文件中 有完整的教学步骤,步骤不多,所以,笔者这边就先不赘述了。
我们会在元件的 ts 档案中定义它的 css selector 名称,之後,我们将这个 css selector 加到其他 html 档案中的时候,Angular 可以藉由这个 css seletor 要知道去哪个元件档案中去取得它的 html 样板内容。
它的位置会出现在元件的 ts 档案的以下这个位置,而 selector 属性内容就是这个元件的 css selector 名称。
[TypeScript]
@Component({
selector: 'app-product-list',
})
元件中的 html 样板档案定义的内容,就是告诉 Angular 应该要将什麽内容渲染到画面上。
而定义元件的 html 样板档案有两种方式:
方法一: 我们来写一个参照外部档案的范例
[TypeScript]
@Component({
selector: 'app-product-list',
templateUrl: './product-list.component.html',
})
以上的范例,就会去参照跟这个档案相同层级资料夹中的一个叫做 product-list.component.html 的档案,作为这个元件的 html 样板档案。
方法二: 我们写一个直接写在档案里面的范例
[TypeScript]
@Component({
selector: 'app-product-list',
template: '<h1>This is A product component H1</h1>',
})
上面的范例,我们只有写一行 html template 的内容,如果,我们要写多行的话,按照上面用单引号(')把内容包起来的写法,就必须还要注意要将多行的内容的字串整并起来的问题。
所以,在官方文件中就有建议我们直接用 backticks 来将多行 html template 内容包起来
@Component({
selector: 'app-product-list',
template: `
<h1>This is A product component H1</h1>
<p> This is a paragraph </p>
`
})
Note:
不知道你有没有注意到,如果是参照外部 html 档案的时候,属性是templateUrl
,如果,是直接在元件档案里面定义 html 内容的话,属性是template
。
另外,在元件的档案里面只能出现templateUrl
或template
,不能同时出现在同一个元件档案中。
元件的 css 样式的指定方式,跟 html 样板的指定方式一样,有两种一种是指定外部的 css 样式档案,另一种就是直接在元件的档案里面定义。
方法一: 指定外部的 css 样式档案
@Component({
selector: 'app-product-list',
templateUrl: './product-list.component.html',
styleUrls: ['./product-list.component.css']
})
可以看到上面的 styleUrls 属性里面就是放着指定的 css 档案。
眼尖的大家,应该都有注意到 styleUrls 是用阵列的型式,将要引入的 css 样式档案放在里面,这代表了什麽呢?!!
代表我们可以引入一个以上的 css 样式档,写法如下
@Component({
selector: 'app-product-list',
templateUrl: './product-list.component.html',
styleUrls: ['./product-list.component.css', './ramble-style.css']
})
上面我们再加入一个叫 ramble-style.css 的档案到我们的元件的 css 引入档案中,这代表了这个元件会同时引入 product-list.css 和 ramble-style.css 这两个样式的档案内容。
方法二: 直接将样式设定写在档案中
@Component({
selector: 'app-product-list',
templateUrl: './product-list.component.html',
styles: ['.practice { color:red;} div{ border: 1px solid black;}']
})
写法差不多,就是在 styles 属性里面写入一个阵列,里面就直接放这个元件档案会用到的 css 样式。
Note:
一样要注意的地方是,当引入外部指定的 css 样式档案的时候,它是接在styleUrls
後面,而直接将 css 样式写在元件档案中的话,是接在styles
属性的後面。这两者的不同要稍微注意一下喔~~
ok~ 这边来做个总结吧
ng g c <component-name>
来创出一个新的元件。
<<: 追求JS小姊姊系列 Day6 -- 郑列展现的工具力(上)
接下来,进行台股申购 Model 实作,这个 Model 该负责的任务如下 申购资料下载 申购列表总...
先简单回顾一下,今天预计分析的题目: 112. Path Sum 题目连结:https://lee...
今天来认识一下kaggle比赛的常胜军-XGboost(extreme gradient boost...
在上一篇介绍中我们得知 .net core mvc 跟.net core web api 在专案C#...
音乐播放器 虽然 Mac Os , Linux, Windows 都内建了音乐播放器,但他们仍有一些...