我正在尝试编写必须是最简单的角度指令,该指令显示是/否选择列表并绑定到包含布尔值的模型。不幸的是,现有的价值从未预先选定。我的指令是
return {
restrict: 'E',
replace: true,
template: '<select class="form-control"><option value="true">Yes</option><option value="false">No</option></select>',
scope: {
ngModel: '='
}
}
我将该指令称为
<yesno ng-model="brand.is_anchor"></yesno>
选择选项显示,生成的HTML显示为
<select class="form-control ng-isolate-scope ng-valid" ng-model="brand.is_anchor">
<option value="? boolean:false ?"></option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
绑定模型的初始值为“false”,但它始终显示一个空选项,并且符合生成的HTML中列出的第一个选项。
有人可以提供建议吗?
答案 0 :(得分:2)
您不能将<option>
标签与angularjs一起使用
请改用select元素上的角度“ng-options”指令。
<select ng-options="..."></select>
请参阅角度文档: https://docs.angularjs.org/api/ng/directive/ngOptions
您的问题将由此解决。
答案 1 :(得分:2)
请参阅我们必须使用<select ng-options="..."></select>
根据angular js文档或
我们必须通过添加角度js的ng-selected
指令来为其应用变通方法,以便您的代码
<select class="form-control ng-isolate-scope ng-valid" ng- model="brand.is_anchor">
<option value="? boolean:false ?"></option>
<option value="true" ng-selected="brand.is_anchor == true">Yes</option>
<option value="false" >No</option>
</select>
如果我们不想使用
,我们必须应用此额外的解决方法<select ng-options="..."></select>