Angular双向绑定简单理解
2024-08-22 19:36:45
在使用Antd的时候,一直很好奇里面的双向绑定的自定义组件是怎么做的。
因为之前一直用,没有去细看文档。
今天抽空来简单的撸一下。
在ng中,()是单向数据流,从视图目标到数据源,[()]这样就是双向绑定了。简单的说就是ng给的一个语法糖,帮我们做了子组件内部事件发射的事件监听,然后赋值。
子组件:html
<input placeholder="test" type="text" [(ngModel)]="qc" #qq (ngModelChange)="testevent()">
子组件:ts
@Component({
selector: 'app-qingcheng',
templateUrl: './qingcheng.component.html',
styleUrls: ['./qingcheng.component.less']
})
export class QingchengComponent implements OnInit { @Input() username: string;
@Output() usernameChange = new EventEmitter(); constructor() { } ngOnInit() { }
testevent() {
console.log(this.username);
this.usernameChange.emit(this.username);
} }
向外部发射事件的时候,一定要xxxChange,以Change结尾的事件才正确,不然无法双向绑定。。
这个坑找了半天才解决:https://segmentfault.com/a/1190000016651999
父组件:html
<app-qingcheng #qingcheng [(qc)]="testbind"></app-qingcheng>
{{testbind}}
父组件:ts
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.less']
})
export class AppComponent {
title = 'qctest';
testbind = ''; }
最新文章
- 【笔记】MySQL查询排名
- 基于物理渲染的渲染器Tiberius计划
- 通过js给android控件WebView设padding
- csipsimple,linphone,webrtc比较
- Inversion Sequence(csu 1555)
- BST树
- Java BigDecimal大数字操作
- Android——显示当前运行所有服务,判断服务是否运行
- C#如何判断质数(转)
- 百度云世界里的“七种武器”:PCS、BAE、Site App、ScreenX等
- python的unittest測试框架的扩展浅谈
- 初入前端框架bootstrap--Web前端
- Linux中find的使用(转)
- VMware与Hyper-V的冲突解决 VMware Workstation 与 Device/Credential Guard 不兼容 解决方案
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-新增锁定用户与解除锁定用户的功能
- 更改oracle数据库密码(因为密码过期)
- day20_python_1124
- MySQL基本教程(一)
- JTextPane或JTextPane设置了滚动条,文本增加后,滚动条自动下滑,追加文本的例子
- 解决《UNIX环境高级编程》(APUE)示例代码的编译问题