当ng-model为null时,在select中设置默认值

use*_*100 15 javascript angularjs

我是角度新手,我正试图设置一个默认状态,以便在我的ng-model为空时选择.基本上我想在模型为空时将其设置为"无".我尝试了下面的代码,但它不起作用.

<select ng-init="item.carType | item.carType='none'" ng-model="item.carType">
    <option value="none">None</option>
    <option value="manual">Manual</option>
    <option value="auto">Auto</option>                      
</select>
Run Code Online (Sandbox Code Playgroud)

Tau*_*ics 25

试试这个:

<select ng-init="item.carType = item.carType || 'none'" ng-model="item.carType">
    <option value="none">None</option>
    <option value="manual">Manual</option>
    <option value="auto">Auto</option>                      
</select>
Run Code Online (Sandbox Code Playgroud)

也就是说,根据文档,这可能是对ngInit的误用.执行此操作的正确方法是使用控制器(或服务,如果它来自的位置)中的合理值初始化模型.

  • 这是什么意思`item.carType = item.carType`? (3认同)
  • 如果它是一个"truthy"值,这将把`item.carType`分配给它自己,否则它会将字符串'none'分配给`item.carType`.因此,如果`item.carType`已经有一个值,则没有任何变化,否则 - 由于`||` - 它将被赋值给字符串值'none'. (2认同)
  • 不要这样做.这与验证混淆.如果你有一个`required`标志,将默认设置为''none'将使该值'set​​',并且它不会触发'required`错误. (2认同)