Javascript “选择不使用布尔值”的默认选项
有人能解释一下为什么第一个和最后一个select不显示默认值吗Javascript “选择不使用布尔值”的默认选项,javascript,html,angularjs,Javascript,Html,Angularjs,有人能解释一下为什么第一个和最后一个select不显示默认值吗 angular.module('myApp',[]); 引导(document.documentElement,['myApp']) 假的 真的 要对页面进行解释: 在这两个示例中,track by表达式成功应用于options数组中的每个选项由于所选选项已在控制器中以编程方式设置,track by表达式也应用于ngModel值。当ngModel值为options[0]且track by表达式的计算结果为选项[0]。id没有问题
angular.module('myApp',[]);
引导(document.documentElement,['myApp'])代码>
假的
真的
要对页面进行解释:
在这两个示例中,track by
表达式成功应用于options
数组中的每个选项由于所选选项已在控制器中以编程方式设置,track by
表达式也应用于ngModel
值。当ngModel
值为options[0]
且track by
表达式的计算结果为选项[0]。id
没有问题。当ngModel
值为options[0]时,label
和track by
表达式的计算结果为options[0]。label.id
(未定义)。因此,模型值与任何
都不匹配,
显示为没有选择的值
要对本页进行解释:
在这两个示例中,track by
表达式成功应用于options
数组中的每个选项由于所选选项已在控制器中以编程方式设置,track by
表达式也应用于ngModel
值。当ngModel
值为options[0]
且track by
表达式的计算结果为选项[0]。id
没有问题。当ngModel
值为options[0]时,label
和track by
表达式的计算结果为options[0]。label.id
(未定义)。因此,模型值与任何
都不匹配,
显示为没有选择的值
好的,所以当我选择option.id而不仅仅是选项时,我不应该使用“track by”,因为它会尝试将“track by”应用于ngModel值,这是一个布尔值。第一个例子怎么样?好吧,既然我选择的是option.id,而不仅仅是选项,我就不应该使用“track by”,因为它会尝试将“track by”应用到ngModel值,这是一个布尔值。第一个例子怎么样?不要在同一个表达式中使用select as和track by。它们不是为一起工作而设计的。ref:请勿在同一表达式中使用“选择为”和“跟踪依据”。它们不是为一起工作而设计的。裁判: