Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改角度中的第一个ng选项文本_Javascript_Angularjs - Fatal编程技术网

Javascript 更改角度中的第一个ng选项文本

Javascript 更改角度中的第一个ng选项文本,javascript,angularjs,Javascript,Angularjs,我有一个不同版本的下拉列表。对于第一个版本,我只想在下拉列表中显示的文本中添加“最新”,有没有简单的方法 HTML: 现在下拉列表显示“3.0”、“2.0”、“1.0”,但我希望第一个选项是“3.0(最新)” 我可以直接更改对象名称,但我正在将所选对象传递到另一个作用域,这会导致问题,因此这将不稳定: $scope.versions[0].name += " (latest)"; 如果可能的话,我只想在下拉列表中显示“最新”。谢谢 最好封装到命名空间中,以避免作用域之间出现问题 js html

我有一个不同版本的下拉列表。对于第一个版本,我只想在下拉列表中显示的文本中添加“最新”,有没有简单的方法

HTML:

现在下拉列表显示“3.0”、“2.0”、“1.0”,但我希望第一个选项是“3.0(最新)”

我可以直接更改对象名称,但我正在将所选对象传递到另一个作用域,这会导致问题,因此这将不稳定:

$scope.versions[0].name += " (latest)";

如果可能的话,我只想在下拉列表中显示“最新”。谢谢

最好封装到命名空间中,以避免作用域之间出现问题

js html


如果您的阵列总是先有最新版本,则可以执行以下操作:

<select ng-model='selectedVersion'
    ng-options="(version.name == versions[0].name ? 'latest' : version.name) for version in versions"
    class="form-control">
</select>

谢谢,我最后使用了
version==versions[0]
,我想这是同一个对象引用。
$scope.versions[0].name += " (latest)";
function MyCntrl($scope) {
  var versions = [{ name: "3.0" }, { name: "2.0" }, { name: "1.0" },];
  $scope.prop = {
    "value": versions[0], 
    "values": versions 
  };
}
<div ng-controller="MyCntrl">
  <select ng-model="prop.value" ng-options="v.name for v in prop.values">
  </select>

</div>
<select ng-model='selectedVersion'
    ng-options="(version.name == versions[0].name ? 'latest' : version.name) for version in versions"
    class="form-control">
</select>