md-select不使用ng-value文本进行更新

gre*_*lle 4 javascript angularjs angularjs-directive material-design angular-material

你好我有问题.

当我在ng-value中放入一个整数时,md-select会被更新:

<md-input-container>
      <md-select ng-model="test">
            <md-option ng-value="1">1</md-option>
            <md-option ng-value="2">2</md-option>
            <md-option ng-value="3">3</md-option>
            <md-option ng-value="4">4</md-option>
     </md-select>
</md-input-container>
Run Code Online (Sandbox Code Playgroud)

但是当我使用字符串值执行此操作时,它无法正常工作,我该怎么办?

<md-input-container>
   <md-select ng-model="type">
        <md-option ng-value=''></md-option>
        <md-option ng-value='test' >test</md-option>
        <md-option ng-value='test02'>test02</md-option>
        <md-option ng-value='test03' >test03</md-option>
   </md-select>
 </md-input-container>
Run Code Online (Sandbox Code Playgroud)

怎么了 ?

Chr*_*oph 7

你可以使用value=""(期望一个字符串)

这是有效的:

<md-input-container>
  <md-select ng-model="type">
    <md-option value=''></md-option>
    <md-option value='test' >test</md-option>
    <md-option value='test02'>test02</md-option>
    <md-option value='test03' >test03</md-option>
  </md-select>
</md-input-container>
Run Code Online (Sandbox Code Playgroud)

或者你可以使用ng-value=""(期待一个表达式)

<md-input-container>    
  <md-select ng-model="type">
    <md-option ng-value="''"></md-option>
    <md-option ng-value="'test'" >test</md-option>
    <md-option ng-value="'test02'">test02</md-option>
    <md-option ng-value="'test03'" >test03</md-option>
  </md-select>
</md-input-container>
Run Code Online (Sandbox Code Playgroud)

您的第一个示例正在工作,因为整数值是正确的表达式 在您的第二个示例中,angular正在您的范围中查找名为test的属性.