关于angular2双向绑定

1、在自己写的anular组件中可以使用[(x)]的语法,可以分属性x还有时间xChange,详见官方文档-模板语法-双向数据绑定

2、在原生html元素不能使用[(x)]语法,但是angular提供了ngModel指令来实现了某些表单元素的双向绑定

3、自定义组件不使用[(x)]语法,而使用ControlValueAccessor和ngModel实现,具体参考:

https://segmentfault.com/a/1190000012726935

https://www.jianshu.com/p/727ddad21586

总结:在原生表单中input这种,直接使用angular提供的ngModel指令;在自定义组件中,我觉得第一种和第三种是一样的,在官方文档中用的是第一种,并且对于第三种给了一个解释:你不能把 [(ngModel)] 用到非表单类的原生元素或第三方自定义组件上,除非写一个合适的值访问器,这种技巧超出了本章的范围。呵呵但是我目前还没有找到官方对于这个的讨论,只在几种博客中找到一些用法,也没有详细的解释。所以用两种都可以吧,如果出现其他问题有一个多的选择。

猜你喜欢

转载自www.cnblogs.com/hahlzj/p/11237988.html