gpt4 book ai didi

javascript - 带有 Angular JS 解析列表的选项列表

转载 作者:行者123 更新时间:2023-12-02 14:45:42 25 4
gpt4 key购买 nike

我有一个带有年份的字符串列表,例如:

$scope.years = ["2001", "2002", "2003", ...];

我试图将其呈现在 select 标记内的页面上,但 Angular 不断破坏代码,将元素呈现在标记之外。

我的页面中有以下内容:

<select>
<option value="" disabled selected>----</option>
<option ng-repeat="y in years" value="{!y!}">{!y!}</option>
</select>

我确实渲染了,但生成的所有选项标签都位于选择标签之外。我在这里做错了什么吗?

编辑:使用 AngularJS 1.5.3

最佳答案

您可以使用 ng-options,这是 AngularJS 中推荐的方式,在这种情况下,它比 ng-repeat 有很多性能改进。

它还要求您拥有ng-model。您仍然可以使用自定义的“清空/选择”选项。

它看起来像这样:

<select ng-model="something" name="S" 
ng-options="y for y in years">
<option value="" disabled selected>----</option>
</select>

完整的工作示例:

var app = angular.module("TestApp", []).controller("sample", ["$scope",
function($scope) {
$scope.years = ["2001", "2002", "2003"];
}
]);

angular.bootstrap(document, ["TestApp"]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>

<div ng-controller="sample">
<select ng-model="something" name="S" ng-options="y for y in years">
<option value="" disabled selected>----</option>
</select>
</div>

附注

我假设代码中的 ! 是错误的,如果不是,则无法在 HTML 中进行此转换。您最好拥有另一个包含格式化结果的数组,并观察原始数组以更新转换数组。

关于javascript - 带有 Angular JS 解析列表的选项列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36636208/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com