Angularjs 将空间添加到<;选择>;使用ng选项

Angularjs 将空间添加到<;选择>;使用ng选项,angularjs,Angularjs,如何使用角度ng选项将前导空格添加到选项中 <div ng-controller="MyCntrl"> Static values (works) <select> <option value="black">black</option> <option value="white">&nbsp;white</option> <option valu

如何使用角度ng选项将前导空格添加到
选项中

<div ng-controller="MyCntrl">
    Static values (works)
    <select>
        <option value="black">black</option>
        <option value="white">&nbsp;white</option>
        <option value="red">&nbsp;&nbsp;red</option>
        <option value="blue">&nbsp;&nbsp;&nbsp;blue</option>
        <option value="yellow">&nbsp;&nbsp;&nbsp;&nbsp;yellow</option>
    </select>

    Values from JS using angular (only the first-default works)
    <select ng-model="color" ng-options="c.name for c in colors">
        <option value="">&nbsp;&nbsp;&nbsp;default</option>
    </select>
</div>

您可以设置选项文本的格式:

<select ng-model="color" ng-options="('&nbsp;'+c.name) for c in colors">
    <option value="">&nbsp;default</option>
</select>
在html中,它将是:

<select ng-model="color" ng-options="(addSpaces(c)+c.name) for c in colors">
    <option value="">&nbsp;default</option>
</select>

违约

这是因为我们在字符串中连接了
(例如
 ;
)的unicode字符,而不是实体,因此
元素.text()
函数没有任何转义

谢谢,这可能很方便,但我如何添加不同数量的空间?例如,白色前1个空格,红色前2个空格,蓝色前3个空格。。。我想这必须在JS中完成,但无论我尝试什么,都会返回选项中的可见内容。
String.fromCharCode(160)
-这就是我一直缺少的内容。谢谢!您也可以将160个字符放入$scope.colorsFantastic中的名称字符串中,如果逻辑已经设置了一个this帮助我将其放入select,cheers中。
$scope.addSpaces= function(color){
    var count = 1;// put your logic here
    var result = "";
    for(var i=0; i<count; i++){
        result+= String.fromCharCode(160);
    }
    return result;
};
<select ng-model="color" ng-options="(addSpaces(c)+c.name) for c in colors">
    <option value="">&nbsp;default</option>
</select>