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 相关文章推荐
JavaScript脚本性能的优化方法
Feb 02 Javascript
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
Apr 20 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
Jul 31 Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 Javascript
使用jquery+CSS实现控制打印样式
Dec 31 Javascript
Javascript实现Array和String互转换的方法
Dec 21 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
jQuery EasyUi 验证功能实例解析
Jan 06 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
React中阻止事件冒泡的问题详析
Apr 12 Javascript
一篇文章看懂JavaScript中的回调
Jan 05 Javascript
vue-cropper组件实现图片切割上传
May 27 Vue.js
微信小程序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循环输出数据库内容的代码
2008/05/24 PHP
php 正则匹配函数体
2009/08/25 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
图片自动缩小 点击放大
2008/07/07 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
详解vue的diff算法原理
2018/05/20 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
一则python3的简单爬虫代码
2014/05/26 Python
Python中http请求方法库汇总
2016/01/06 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
Sanic框架配置操作分析
2018/07/17 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
Python 如何实现访问者模式
2020/07/28 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
英国著名的茶叶品牌:Whittard of Chelsea
2016/09/22 全球购物
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
售后专员岗位职责
2013/12/08 职场文书
好家长事迹材料
2014/01/23 职场文书
防汛工作情况汇报
2014/10/28 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python