Angular ng-if inside选项元素和ng-repeat不工作

时间:2014-05-20 09:22:03

标签: angularjs angularjs-ng-repeat angular-ng-if

我有选择要列出可用货币的元素。默认货币在其名称前应具有前缀“Default”。出于某种原因,列表中的所有货币都会显示该前缀。

测试HTML:

<div ng-app="testApp">
  <div ng-controller="MainCtrl">
     <select>
        <option ng-repeat="rate in rates track by $index">
            <span ng-if="rate.is_default">Default</span>
            <span>{{rate.name}}</span>
        </option>
     </select>
  </div>
</div>

TEST JS:

var app = angular.module("testApp", []);

app.controller("MainCtrl", function($scope){

$scope.rates = [
    { 'name': 'dolar', 'is_default': true},
    { 'name': 'pound', 'is_default': false},
    { 'name': 'euro', 'is_default': false}
];

});

jsFiddle

1 个答案:

答案 0 :(得分:16)

您不能在选项标记中使用HTML标记,但您可以执行以下操作:

<option ng-repeat="rate in rates track by $index">
    {{ rate.is_default ? 'default' : '' }} {{rate.name}}
</option>

Fiddle