通过Angular利用内容投射向组件输入ngForOf模板的方法步骤有哪些?

本篇文章主要介绍了angular利用内容射向组件输入ngforof模板的方法,现在分享给大家,也给大家做个参考。

现在,我们写一个组件puppiesListCmp,用于显示小狗狗的列表:

//puppies-list.component.ts@Component({ selector: 'puppies-list', template: `  

   {{puppy.name}}   {{puppy.age}}   {{puppy.color}}  

`})export class puppiesListCmp{ @Input() puppies: Puppy[];}interface Puppy { name: string, age: number, color: string}

登录后复制

然后这样使用:

//app.component.ts@Component({ selector: 'my-app', template: `  `})export class App{ puppies = [  {   name: "sam",   age: 0.6,   color: "yellow"  },  {   name: "bingo",   age: 1.5,   color: "black"  } ]}

登录后复制

效果就行这样:

通过Angular利用内容投射向组件输入ngForOf模板的方法步骤有哪些?

但是,我希望我们的puppiesListCmp组件可以满足不同的需求,比如在数据不变的情况下只显示小狗狗的name和color,就像这样:

通过Angular利用内容投射向组件输入ngForOf模板的方法步骤有哪些?

这就是本文的重点了。我们需要实现用户自定义模板!

现在我们不写死组件的模板了,而是让用户从外部输入!

首先,我们的组件模板:

   {{puppy.name}}   {{puppy.age}}   {{puppy.color}}

登录后复制

等价于:

   

    {{puppy.name}}    {{puppy.age}}    {{puppy.color}}   

登录后复制

然后,用@ContentChild(关于@ContentChild可以查看这里,需FQ)获取到外部(相对puppiesListCmp组件而言)自定义模板,并赋给ngForTemplate。也就是说,这部分:

  {{puppy.name}}  {{puppy.age}}  {{puppy.color}}

登录后复制

不再像之前那样写死在组件里了,而是由使用者在父组件中自定义,然后利用Angular的内容投射(Content Projection),投射到puppiesListCmp组件里面。就像这样:

//puppies-list.component.tsimport { Component, Input, ContentChild, TemplateRef } from '@angular/core';import { NgForOfContext } from '@angular/common';@Component({ selector: 'puppies-list', template: ``})export class puppiesListCmp{ @Input() puppies: Puppy[]; @ContentChild(TemplateRef) tpl: TemplateRef>}interface Puppy { name: string, age: number, color: string}

登录后复制

这样我们的组件就算完成了。然后我们使用它:

//app.component.ts@Component({ selector: 'my-app', template: `   

   {{puppy.name}}   {{puppy.age}}   {{puppy.color}}  

 `})

登录后复制

效果还是一样的:

通过Angular利用内容投射向组件输入ngForOf模板的方法步骤有哪些?

如果我们只要显示小狗狗的name和color,只要这样写就好了:

//app.component.ts@Component({ selector: 'my-app', template: `   

   {{puppy.name}}   {{puppy.color}}  

 `})

登录后复制

效果就像这样:

通过Angular利用内容投射向组件输入ngForOf模板的方法步骤有哪些?

这样的组件很灵活,想要什么样的效果都可以定制,这就实现了组件的复用。

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

Angularjs Promise实例详解

JS实现导出Excel的五种方法详解

JavaScript实现写入文件到本地的方法

以上就是通过Angular利用内容投射向组件输入ngForOf模板的方法步骤有哪些?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2751920.html

(0)
上一篇 2025年3月8日 06:03:59
下一篇 2025年3月6日 11:31:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 怎样使用Angular打开Font-Awesome

    这次给大家带来怎样使用Angular打开Font-Awesome,使用Angular打开Font-Awesome的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 本文主要给大家介绍了关于以Angular的姿势打开Font-Aweso…

    编程技术 2025年3月8日
    200
  • 如何利用Angular CLI创建Angular项目

    这次给大家带来如何利用Angular CLI创建Angular项目,利用Angular CLI创建Angular项目的注意事项有哪些,下面就是实战案例,一起来看一下。 开始项目前,你需要先安装node和npm,然后执行npm install…

    编程技术 2025年3月8日
    200
  • 利用Angular如何实现变化检测

    这篇文章主要介绍了浅谈angular 的变化检测的方法,现在分享给大家,也给大家做个参考。 Change Detection (变化检测) 是 Angular 2 中最重要的一个特性。当组件中的数据发生变化的时候,Angular 2 能检测…

    编程技术 2025年3月8日
    200
  • 在angular中如何使用json对象push到数组中的方法

    下面我就为大家分享一篇angular json对象push到数组中的方法,具有很好的参考价值,希望对大家有所帮助。 在项目中,api要求的数据格式为 $scope.data = { “name”:”zhangsan”, “Menus”: […

    编程技术 2025年3月8日
    200
  • 详细解读在js函数相关内容

    本篇文章给大家简要分析了js中函数相关的重要知识点,对此有兴趣的朋友可以参考学习下。 要知道,在js中,引用类型是一种数据结构,包含5种引用类型,分别是Object,data,Array,re请输入代码gExp,Function。今天我们就…

    编程技术 2025年3月8日
    200
  • 详细解读Angular系列中变化检测问题

    这篇文章主要介绍了详解angular系列之变化检测(change detection),现在分享给大家,也给大家做个参考。 概述 简单来说变化检测就是Angular用来检测视图与模型之间绑定的值是否发生了改变,当检测到模型中绑定的值发生改变…

    2025年3月8日
    200
  • 在Angular中如何实现双向数据绑定

    下面小编就为大家分享一篇angular自定义组件实现数据双向数据绑定的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 学过Angular的同学都知道,输入框通过[(ngModel)]实现双向数据绑定,那么自定义组件能不…

    2025年3月8日
    200
  • 在Angular中如何实现颜色变化

    这篇文章主要介绍了angular中点击li标签实现更改颜色的核心代码,需要的朋友可以参考下 点击ng-repeat遍历后的li标签,实现更改border颜色; html代码: 登录后复制 {{word}} js代码: $scope.li_c…

    编程技术 2025年3月8日
    200
  • 在Angular中如何使用toDoList

    本篇文章主要介绍了angular之todolist的实现代码示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 什么是todolist? 所谓的todolist就是把你所做的事情按顺序全部列出来,然后做完一件事…

    2025年3月8日
    200
  • 使用vue,angular,react如何实现数据双向绑定

    本篇文章主要介绍了浅谈vue,angular,react数据双向绑定原理分析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 传统做法 前端维护状态,手动操作DOM更新视图。前端框架对服务器数据通过模版进行渲染。…

    2025年3月8日
    100

发表回复

登录后才能评论