gpt4 book ai didi

angularjs - ng-model 和 ng-options 不匹配?

转载 作者:行者123 更新时间:2023-12-02 23:24:38 27 4
gpt4 key购买 nike

我的资源对象中有一个方法,如下所示:

资源类型

otherstuff: 'more strings'
type:'specifictype'
morestuff: 'morestuff'

用户可以通过下拉菜单/通过另一个调用来更改此类型,该调用获取所有可能类型的列表,该列表看起来像resourceList.types,它具有像这样的对象列表 json

types:
[
{name:'resourcetype1'},
{name:'resourcetype2'},
etc...
],

我的 html 看起来像:

<select ng-model="resources.type" ng-options="name.name for name in resourceList.types">
</select>

选择/下拉框填充了我的resourceList.type内容,但是当页面加载时,ng-model不会设置为已选择的资源类型。当您单击时,它实际上会选择下拉列表顶部的一个空白条目。 Angular 对此很挑剔吗?如何让 ng-model 按照我想要的方式运行?

我尝试用不同的方式来使用 ng-options 来获得重复,但我觉得这更多的是 Angular 连接模型的方式。它只是将字符串与 ng-options 列表匹配吗?

这是 plnkr,您可以看到它没有默认为 type1

http://plnkr.co/edit/NyWACtFQuyndR6CG8lpN?p=info

最佳答案

在 Angular 中,模型是唯一的事实来源。
这意味着如果您想要选择一个值(并绑定(bind)到您的 ngModel),您需要将其分配给模型:

<select ng-model="resources.type"
ng-options="type.name as type.name for type in resourceList.types">
</select>

$scope.resources = {...};
$scope.resourceList = {
...
types: [
{name: 'resourcetype1'},
{name: 'resourcetype2'},
...
]
};

// Set the model to the desired value
$scope.resources.type = $scope.resourceList.types[0].name;
<小时/>

另请参阅此 short demo

关于angularjs - ng-model 和 ng-options 不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24898636/

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