Javascript 更改ngOptions的显示值会与下拉菜单中的选定值发生冲突

Javascript 更改ngOptions的显示值会与下拉菜单中的选定值发生冲突,javascript,html,angularjs,select,ng-options,Javascript,Html,Angularjs,Select,Ng Options,我实现了一个功能,用户可以将下拉菜单中显示的温度值列表分别转换为摄氏度和华氏度 我正在使用带有ng选项的select输入,如下所示: <select ng-model="thresshold.selected" ng-options="value as (showCelsius?value:side.convertTo(value, false)) for value in thresshold.values"> showcellics是布尔值。预定义选项为true,如中显示摄

我实现了一个功能,用户可以将下拉菜单中显示的温度值列表分别转换为摄氏度和华氏度

我正在使用带有ng选项的select输入,如下所示:

<select ng-model="thresshold.selected" ng-options="value as (showCelsius?value:side.convertTo(value, false)) for value in thresshold.values">

showcellics是布尔值。预定义选项为true,如中显示摄氏度,否则显示华氏度。convertTo是一个函数,它接受温度值和showCelsius变量,并将其转换为所需的温度单位

最初,下拉选择的值(以摄氏度为单位)将正确显示。当我尝试更改为华氏温度时,下拉菜单的标签会按预期更改,但当我尝试切换回摄氏温度时,所选值不会显示。尝试与下拉菜单交互显示值已正确转换。转换回华氏温度将在选择中重新显示所选值


知道为什么会这样吗

根据您的描述,您的函数转换为(val,bool):

将true/false作为Celcius或fahrenheit的参数。您的代码是否应该如下所示

showCelsius?value:side.convertTo(value, showCelsius) 

否则,它将始终只显示一个选项?

谢谢您的输入,第二个参数的显示是正确的,但这并不影响这样一个事实,即转换为华氏温度然后再返回摄氏温度后的值不会显示在下拉框中。也许您需要检查对象的属性,以及所选值的设置方式。请看这里的文档:这里有一个小提琴示例的链接:不,情况也不是这样。阈值是一个对象是,但具有属性值,属性值是一个值数组,选择选项是从中定义的。我已经彻底地搜索了一个提示,但没有运气。
showCelsius?value:side.convertTo(value, showCelsius)