Angularjs 将“选定”属性放入匹配选项(在指令中)

Angularjs 将“选定”属性放入匹配选项(在指令中),angularjs,Angularjs,如何在device.types值等效的选项中放置“selected”属性。出于某种奇怪的原因,即使device.type具有其他值,也会显示第一个选项。在指令、链接、编译或控制器中放置代码的最佳位置是哪里 template.html <div> <select ng-model="device.type"> <option value="value1">value1</option> <option

如何在device.types值等效的选项中放置“selected”属性。出于某种奇怪的原因,即使device.type具有其他值,也会显示第一个选项。在指令、链接、编译或控制器中放置代码的最佳位置是哪里

template.html

<div>

    <select ng-model="device.type">
        <option value="value1">value1</option>
        <option value="value2" selected>value2</option>
        .
        .
        .
        <option value="valueN">valueN</option>
    </select>
</div>

感谢您的投入。谢谢。

您不需要创建指令来实现这一点。 只需使用ng选项填充您选择的内容,然后使用track by。 然后,当您选择的模型更改时,它将选择与您在“跟踪方式”中选择的字段相对应的正确选项

诸如此类:

<select 
    ng-model="device"
    ng-options="device as device.type for device in devices track by device.type">
</select>

因此,当您将设备对象放入select的模型中时,它将选择与您的模型匹配的device.type选项。

更改为ng model=device.type-即删除{{}。您需要传递的是scope属性本身,而不是表达式。@NewDev I已经删除了{{}。但问题仍然存在。您实际上不需要所选属性-只需将device.type设置为您希望设置的值。@NewDev device.type已经从后端提取了一个初始值。因此,如果我想编辑它,出现/选择的选项应该是初始值。你能创建一个与一些数据一起的小提琴吗。
<select 
    ng-model="device"
    ng-options="device as device.type for device in devices track by device.type">
</select>