加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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>

在这里看到一个工作示例:
http://plnkr.co/edit/xEERH2zDQ5mPXt9qCl6k?p=preview

诀窍是AngularJS将键作为数字从0到n无论如何,并更新回模型更新时。

因此,HTML将看起来不正确,但是在选择值时仍会正确设置模型。 (即AngularJS将’0’转换回’var1′)

Epokk的解决方案也有效,但是如果你以异步方式加载数据,你可能会发现它并不总是正确地更新。使用ngOptions将在范围更改时正确刷新。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读