Angular2 三:Hero Demo 多组件模板配合使用

上一节我们把一级界面做好了,并且添加了点击事件,如果没看的话,请点击这里

接下来 来实现 一级页面中 某个英雄点击的时候 , 用另一个模板来显示详细信息

在 src/app 文件夹之下 创建一个新的文件 hero-detail.component.ts

在该文件中编写代码如下:(图1)

图1

注意:命名规范方面的问题
    所有组件名都以 Component 结尾
    所有组件文件都以 .component 结尾

好了,现在让我们来实现第一步,将英雄的详细信息展示都组件 HeroDetailComponent 中, 而不是像原来那样展示到 AppComponent 中

1.将组件 AppComponent 的模板中显示英雄详细信息的那段 挪到 HeroDetailComponent 中
2.在AppComponent组件中,我们拥有selectedHero属性,但是在HeroDetailComponent组件中并没有这个属性,所有,将HeroDetailComponent组件模板中的所有selectedHero用hero属性替换掉.
这两步操作完成之后, app.component.ts 和 hero-detail.component.ta 的界面如下面的图2 图3 所示:
    

图2


图3

3.但是我们的HeroDetailComponent组件中,到现在为止,并没有 hero 这个属性,
所以我们要在HeroDetailComponent组件的class中增加这样一个hero属性,图4

图4

4.英雄属性做好之后,有发现了一个问题, hero属性并不认识Hero这个类型
5.这是后,打开app.component.ts 这个文件,我们发现,原来这个文件中,定义了一个叫Hero的类组件,图5

图5

6.问题就来了,既然 Hero 组件是在 app.component.js 文件中定义的,那hero-detail.component.ts 文件中可定就不认识这个 Hero , 那我们该怎么办呢?

7.接下来我们创建一个新的文件 hero.ts
    在这个文件中我们定义一个Hero 类,并导出,图6

图6

8.在app.component.ts 中删掉那个 Hero 组件,并导入 hero.ts ,这样app.component.ts 就认识英雄 这个组件了,
同理 在hero-detail.component.ts 中 也导入 hero.ts 这个文件,这样,HeroDetailComponent 不也就认识Hero 这个东东了,按照这个思路,两个文件的代码修改完之后如图7 图8 所示:

图7


图8


9.引入之后,当我们在列表中点击某一个英雄的时候,会把英雄的值传递给selectedHero变量,怎么才能传递给HeroDetailComponent的hero属性呢?
在AppComponent的模板中,引入HeroDetailComponent的模板,图9

图9

当在列表中点击某个英雄的时候,会把英雄的变量传递给HeroDetailComponent模板的[hero]属性,这是,我们需要在HeroDetailComponent组件中增加一个Input模块,来接受传递过来的值:图10

图10

ok,大功告成,去浏览器试一下吧,当在页面上点击某个英雄的时候,显示英雄的详细信息,但英雄的详细信息,是根据另一个模板HeroDetailComponent来显示的,而不是原来的一个模板组件了.

到此为止,我们的界面展示才不多就完成了,但是还有一个问题就是:我们的数据是在组件中写死的,怎样才能做到让我们的数据和界面组件分离呢? 请看下节 Angular2 四:Services 服务注入

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容

  • Angular 2架构总览 - 简书http://www.jianshu.com/p/aeb11061b82c A...
    葡萄喃喃呓语阅读 1,485评论 2 13
  • 版本:4.0.0+2 有一些英雄指南应用的新需求: 添加一个仪表盘 视图。 添加在英雄 视图和 仪表盘 视图之间导...
    soojade阅读 1,290评论 0 0
  • 版本:4.0.0+2 此时AppComponent做了所有的事情。起初,它显示一个单一英雄的详情。然后,它成了有一...
    soojade阅读 585评论 0 1
  • 一天,我去买鞋,看上了一双休闲鞋,便问价。 阿姨:“38块。” 我:“25块可以的啦。” 阿姨:“那32块” 我:...
    易多咪阅读 261评论 0 0
  • 一直以来我都比较喜欢看电视剧,只要一有空我就会追个不停。 不知道这算不算我 的一大爱好,我看电视剧还有些不一样,我...
    是的比心阅读 5,825评论 0 1