Angular父组件调用子组件的方法


Posted in Javascript onApril 02, 2018

理解组件

组件是一种特殊的指令,使用更简单的配置项来构建基于组件的应用程序架构

这样他能简单地写app,通过类似的web Component 或者angular2的样式。

web Component 是一个规范。马上就要成为标准。

应用组件的优点:

  • 比普通指令配置还简单
  • 提供更好的默认设置和最好的实践
  • 对基于组建的应用架构更优化。
  • 对angular2的升级更平滑。

不用组建的情况:

  • 对那些在 compile或者pre-link阶段要执行操作的指令,组件不能用,因为无法到达那个阶段。
  • 如果你想定义指令的  priority,terminal,multi-element,也不能用。
  • 组件只能通过元素标签触发,其他的只能用命令。

viewChild装饰器。

父组件的模版和控制器里调用子组件的API。

1、创建一个子组件child1里面只有一个greeting方法供父组件调用。

import { Component, OnInit } from '@angular/core';
@Component({
 selector: 'app-child1',
 templateUrl: './child1.component.html',
 styleUrls: ['./child1.component.css']
})
export class Child1Component implements OnInit {
 constructor() { }
 ngOnInit() {
 }
 greeting(name: string) {
 console.log("hello" + name);
 }
}

2、父组件中分别在模版中用模版本地变量调用和在控制器中用ts代码调用。

父组件写2个<app-child>并分别指定模版本地变量

<app-child1 #child1> </app-child1>
<app-child1 #child2> </app-child1>

3,在父组件控制器中声明一个由viewChild装饰器装饰的变量获得子组件的引用。

通过模版变量的名字child1找到相应的子组件并赋值给child1变量,拿到引用就可以调用子组件方法。

@ViewChild('child1')
child1:Child1Component; //父组件中获得子组件的引用
ngOnInit(){
 this.child1.greeting("Tom");
}

Angular父组件调用子组件的方法

4,在父组件模版中调用子组件方法。

在父组件模版中加一个button,点击时去调用子组件child2的greeting方法。

<app-child1 #child1> </app-child1>
<app-child1 #child2> </app-child1>
<button (click)="child2.greeting('Jerry')">调用child2的greeting方法</button>

Angular父组件调用子组件的方法

总结

以上所述是小编给大家介绍的Angular父组件调用子组件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
常见效果实现之返回顶部(结合淡入、淡出、减速滚动)
Jan 04 Javascript
js获取IFRAME当前的URL的方法
Nov 13 Javascript
判断某个字符在一个字符串中是否存在的js代码
Feb 28 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
Jun 05 Javascript
jquery简单的弹出层浮动层代码
Apr 27 Javascript
Javascript类型转换的规则实例解析
Feb 23 Javascript
基于Bootstrap+jQuery.validate实现表单验证
May 30 Javascript
jQuery特殊符号转义的实现
Nov 30 Javascript
jQuery实现导航回弹效果
Feb 27 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 Javascript
微信小程序 调用微信授权窗口相关问题解决
Jul 25 Javascript
js 数组 fill() 填充方法
Nov 02 Javascript
微信小程序wx:for和wx:for-item的用法详解
Apr 01 #Javascript
微信小程序block的使用教程
Apr 01 #Javascript
JavaScript动态加载重复绑定问题
Apr 01 #Javascript
使用JSON格式提交数据到服务端的实例代码
Apr 01 #Javascript
Vue.js进阶知识点总结
Apr 01 #Javascript
vue 指定组件缓存实例详解
Apr 01 #Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 #Javascript
You might like
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
Apache PHP MySql安装配置图文教程
2016/08/27 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
PHP 自动加载类原理与用法实例分析
2020/04/14 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
将list转换为json失败的原因
2013/12/17 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
node+experss实现爬取电影天堂爬虫
2016/11/20 Javascript
JavaScript之事件委托实例(附原生js和jQuery代码)
2017/07/22 jQuery
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
ES6箭头函数和扩展实例分析
2020/05/23 Javascript
Python实例一个类背后发生了什么
2016/02/09 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
Python的Lambda函数用法详解
2019/09/03 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
什么是Python中的匿名函数
2020/06/02 Python
使用Python爬取Json数据的示例代码
2020/12/07 Python
canvas因为图片资源不在同一域名下而导致的跨域污染画布的解决办法
2019/01/18 HTML / CSS
Html5跳转到APP指定页面的实现
2020/01/14 HTML / CSS
StubHub新西兰:购买和出售你的门票
2019/04/22 全球购物
灵泰克Java笔试题
2016/01/09 面试题
集体备课反思
2014/02/12 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL