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 相关文章推荐
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
AngularJS实现动态编译添加到dom中的方法
Nov 04 Javascript
JavaScript获取服务器端时间的方法
Nov 29 Javascript
BootStrap轮播HTML代码(推荐)
Dec 10 Javascript
微信小程序 122100版本更新问题解决方案
Dec 22 Javascript
webpack 打包压缩js和css的方法示例
Mar 20 Javascript
使用Nuxt.js改造已有项目的方法
Aug 07 Javascript
node错误处理与日志记录的实现
Dec 24 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 Javascript
vue设置一开始进入的页面教程
Oct 28 Javascript
原生js实现自定义难度的扫雷游戏
Jan 22 Javascript
VUE中的v-if与v-show区别介绍
Mar 13 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
摩卡咖啡
2021/03/03 咖啡文化
共享自己写一个框架DreamScript
2007/01/20 Javascript
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
JavaScript+CSS实现仿天猫侧边网页菜单效果
2015/08/25 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
2016/06/14 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python友情链接检查方法
2015/07/08 Python
python实现识别相似图片小结
2016/02/22 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
django创建最简单HTML页面跳转方法
2019/08/16 Python
用Python画一个LinkinPark的logo代码实例
2019/09/10 Python
python列表的逆序遍历实现
2020/04/20 Python
澳大利亚个性化儿童礼品网站:Bright Star Kids
2019/06/14 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
UNIX文件系统常用命令
2012/05/25 面试题
应届毕业生的个人自我鉴定
2013/10/24 职场文书
工作交流会欢迎词
2014/01/12 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
合作协议书范本
2014/10/25 职场文书
婚宴主持词
2015/06/30 职场文书
四年级语文教学反思
2016/03/03 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS
Python中itertools库的四个函数介绍
2022/04/06 Python