angularjs – ng选项与简单数组init
发布时间:2020-12-17 09:21:29 所属栏目:安全 来源:网络整理
导读:我有点困惑与Angular和ng选项。 我有一个简单的数组,我想要初始化一个选择它。但是,我想要的选项值=标签。 script.js $scope.options = ['var1','var2','var3']; html select ng-model="myselect" ng-options="o for o in options"/select 我得到什么: op
我有点困惑与Angular和ng选项。
我有一个简单的数组,我想要初始化一个选择它。但是,我想要的选项值=标签。 script.js $scope.options = ['var1','var2','var3']; html <select ng-model="myselect" ng-options="o for o in options"></select> 我得到什么: <option value="0">var1</option> <option value="1">var2</option> <option value="2">var3</option> 我想要的是: <option value="var1">var1</option> <option value="var2">var2</option> <option value="var3">var3</option> 所以我试过: <select ng-model="myselect2" ng-init=0 ng-options="options[k] as v for (k,v) in options"></select> <select ng-model="myselect3" ng-init=0 ng-options="b as b for b in options"></select> (但它没有工作。) 编辑: 我的表单是外部提交的,这就是为什么我需要’var1’作为值而不是0。
你实际上在你的第三次尝试是正确的。
<select ng-model="myselect" ng-options="o as o for o in options"></select> 在这里看到一个工作示例: 诀窍是AngularJS将键作为数字从0到n无论如何,并更新回模型更新时。 因此,HTML将看起来不正确,但是在选择值时仍会正确设置模型。 (即AngularJS将’0’转换回’var1′) Epokk的解决方案也有效,但是如果你以异步方式加载数据,你可能会发现它并不总是正确地更新。使用ngOptions将在范围更改时正确刷新。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |