温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Angular中怎么自定义双向数据绑定

发布时间:2021-06-21 18:33:59 来源:亿速云 阅读:221 作者:Leah 栏目:大数据

本篇文章给大家分享的是有关Angular中怎么自定义双向数据绑定,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

@Input绑定

对于一个component,他里面定义了@Input()标识的属性,这些属性用来接收对应的html标签中attribute的值。如:

// 在component中定义custom
@Input() custom: string;

// 在标签中使用

<xxx  custom="dawang"></xxx>
 

通过这样的用法就可以给component中的custom赋值,内容是“dawang”。这样只是静态赋值,没有实现数据的绑定。数据的单向绑定是使用[], 如:

<xxx [custom]="data"></xxx>
 

其中data是ts文件中定义的一个变量,假设给data赋值: data='dawang',这样,通过数据的单向绑定[],在component中的custom的值就是'dawang',而不是data。数据绑定的是变量,通过绑定就可以把变量的内容传入component中。

 

@Output绑定

既然是双向绑定,有input肯定就有output了。

在angular的component中可以定义@Output标识的EventEmitter对象。如:

@Output() update = new EventEmitter();
 

在html中就可以这样使用

<xxx (update)="doUpdate($event)"></xxx>

// ts中定义doUpdate方法

doUpdate(event:any) {
    // do something
}
 

此时的update就是用来做反向绑定的属性,将doUpdate绑定到update上,以此来接收从component中传出的update的值。update的传值需要手动触发

this.update.emit('ok');
 

手动触发后,就可以在doUpdate中获取此值,其中event的值就是'ok'。

至此,我们看到了angular数据的正向和反向的绑定,但两者是分开的,所以都叫单向绑定,那么怎么才能双向绑定呢。

 

双向绑定

同时使用]就是实现双向绑定的方式,使用双向绑定的同时,还需要对component进行改造。

@Input() custom: string;
// 增加下面的output绑定
@Output() customChange = new EventEmitter();
 

这样就可以实现[(custom)]的双向绑定。通过component代码可以发现,[(custom)]等效于

<xxx [custom]="data" (customChange)="data = $event"></xxx>
 


以上就是Angular中怎么自定义双向数据绑定,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI