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 相关文章推荐
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
Jun 28 Javascript
将input file的选择的文件清空的两种解决方案
Oct 21 Javascript
js简单实现用户注册信息的校验代码
Nov 15 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
Dec 11 Javascript
动态加载js的方法汇总
Feb 13 Javascript
jQuery实现每隔几条元素增加1条线的方法
Jun 27 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
Sep 24 Javascript
使用JS模拟锚点跳转的实例
Feb 01 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
Vue监听事件实现计数点击依次增加的方法
Sep 26 Javascript
小程序实现左滑删除功能
Oct 30 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 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
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
php中根据变量的类型 选择echo或dump
2012/07/05 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
jQuery(1.6.3) 中css方法对浮动的实现缺陷分析
2011/09/09 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
jQuery Json数据格式排版高亮插件json-viewer.js使用方法详解
2017/06/12 jQuery
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
安装多版本Vue-CLI的实现方法
2020/03/24 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
Python中unittest模块做UT(单元测试)使用实例
2015/06/12 Python
python word转pdf代码实例
2019/08/16 Python
简单了解Python多态与属性运行原理
2020/06/15 Python
Html5饼图绘制实现统计图的方法
2020/08/05 HTML / CSS
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
小学岗位竞聘方案
2014/01/22 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
房产公证书范本
2014/04/10 职场文书
大气污染防治方案
2014/05/19 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android
Python3.10的一些新特性原理分析
2021/09/15 Python