Javascript AngularJS ng选项内置ng repeat

Javascript AngularJS ng选项内置ng repeat,javascript,angularjs,Javascript,Angularjs,非常简单的问题,但不知道如何解决 我重复一遍,迭代模型视频 模型有一个选定的值,我想在下拉列表中看到它: <div data-ng-repeat="singleVideo in model.videos"> {{singleVideo}}<select data-ng-model="singleVideo.name" ng-options="item.name for item in videoList"></select> </div>

非常简单的问题,但不知道如何解决

我重复一遍,迭代模型视频

模型有一个选定的值,我想在下拉列表中看到它:

<div data-ng-repeat="singleVideo in model.videos">
    {{singleVideo}}<select data-ng-model="singleVideo.name" ng-options="item.name for item in videoList"></select>
</div>
这是视频列表项:

$scope.videoList = [
                {id:1,name:"VIDEO_ONE"},
                {id:2,name:"VIDEO_TWO"},
                {id:3,name:"VIDEO_Three"}
            ];
我只是希望看到第一个下拉值将设置为VIDEO_ONE 第二个下拉值将设置为VIDEO_TWO

当前下拉列表为空

我怎样才能做到这一点


您只需为ng选项设置一个值,并将
item.id设置为videoList中项目的item.name
。请参阅下面的代码

(我将id设置为值,因为我认为它更合适。在某些地方,您还需要根据id更新您的
name
属性。反之亦然,请选择。)

角度模块('testapp',[]) .controller('appCtrl',函数($scope){ $scope.model={ 视频:[ {id:1,名称:“VIDEO_ONE”}, {id:2,名称:“VIDEO_TWO”} ] }; $scope.videoList=[ {id:1,名称:“VIDEO_ONE”}, {id:2,名字:“VIDEO_TWO”}, {id:3,名字:“VIDEO_Three”} ]; });

{{singleVideo.name}

{{singleVideo}}

当我更改值时,只有id在更改,而名称不在更改,您知道为什么吗?“videos”:[{“id”:1,“name”:“VIDEO_ONE”},{“id”:2,“name”:“VIDEO_TWO”}]正如我提到的,它只更新
id
属性。我会保留
name
属性,因为它是多余的,如果您从
videoList
中获取名称。问题是当我更改项目或添加另一个项目名称时,模型中的名称没有更新,因此我需要一种方法来包括名称,我如何做到这一点?或者在事件x之后手动执行,或者您只需将id保存在
模型中。视频
并从
视频列表
中获取名称,因为您有id。我建议采用方法2。我不确定这是否是最佳做法,基本上我想将它们都作为模型的一部分,但不确定为什么不能实现。
$scope.videoList = [
                {id:1,name:"VIDEO_ONE"},
                {id:2,name:"VIDEO_TWO"},
                {id:3,name:"VIDEO_Three"}
            ];
<div data-ng-repeat="singleVideo in model.videos">
    {{singleVideo}}<select data-ng-model="singleVideo.name" ng-options="item.name as item.name for item in videoList"></select>
</div>