ng 中select的ngModel如何绑定一个对象(根据对象中的某个属性)


在ng中select的ngModel双向绑定某个变量,如果这个变量是一个基本数据类型,双向绑定没有问题。但是在实际项目中很多情况下都是要根据这个select获取到一个对象的,如果ngModel直接绑定一个对象就会出问题,代码如下图

 

 

 

 效果如下图

 

我们发现虽然person已经给了默认值,但是选择框并没有默认选择项。其实这个也很好理解,js中对象这种复杂数据类型是不可以直接拿来做比较的,这种比较是比较的对象的指向,所以虽然两个对象看着数据是一样的,但是它们并不是相等的。

在ng的表单select中提供了一个compareWith属性,这个属性的值是一个比较函数,可以让我们利用对象中的某个属性做对比,代码如下图

 

 

 

 此时就可以根据person中的id做匹配了,效果如下

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM