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

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

 

 效果如下图

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

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

 

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

猜你喜欢

转载自www.cnblogs.com/canghaishui/p/11801286.html
今日推荐