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 相关文章推荐
同一个表单 根据要求递交到不同页面的实现方法小结
Aug 05 Javascript
JS延迟加载(setTimeout) JS最后加载
Jul 15 Javascript
js数组操作学习总结
Nov 04 Javascript
js 判断浏览器使用的语言示例代码
Mar 22 Javascript
JS原型对象的创建方法详解
Jun 16 Javascript
js 实现数值的千分位及保存小数方法(推荐)
Aug 01 Javascript
老生常谈Javascript中的原型和this指针
Oct 09 Javascript
bootstrap组件之按钮式下拉菜单小结
Jan 19 Javascript
JS实现验证码倒计时的注册页面
Jan 02 Javascript
vue2中使用less简易教程
Mar 27 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
Dec 26 Javascript
js实现双色球效果
Aug 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 什么是PEAR?
2009/03/19 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
PHP数组实例总结与说明
2011/08/23 PHP
ThinkPHP写第一个模块应用
2012/02/20 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
2016/11/04 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
JS短路原理的应用示例 精简代码的途径
2013/12/13 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
自定义事件解决重复请求BUG的问题
2017/07/11 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
node.js文件上传重命名以及移动位置的示例代码
2018/01/19 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
Python中splitlines()方法的使用简介
2015/05/20 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】
2020/05/29 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
如何在python中判断变量的类型
2020/07/29 Python
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
干部作风整顿自我剖析材料和整改措施
2014/09/18 职场文书
抢劫罪辩护词
2015/05/21 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
JavaScript利用html5新方法操作元素类名详解
2021/11/27 Javascript