Angularjs 选择“模型更改时不更改”菜单
我有一个选择菜单,如下所示:Angularjs 选择“模型更改时不更改”菜单,angularjs,Angularjs,我有一个选择菜单,如下所示: <select ng-model="selected_event_type.event_type" ng-options="event_type.name for event_type in events.event_type_views"> <option value="">Event type</option> </select> 我想我知道问题所在。您正在将第一个列表绑定到列表事件。事件
<select ng-model="selected_event_type.event_type"
ng-options="event_type.name for event_type in events.event_type_views">
<option value="">Event type</option>
</select>
我想我知道问题所在。您正在将第一个列表绑定到列表
事件。事件类型\u视图
。并将模型设置为选定的事件类型。事件类型
。选择elment时,模型将更新到所选对象(例如{name:'Collision',partial:'views/events/Collision.html'}
)
currentEventChanged
方法无法创建新对象并设置值,因为比较是基于对下拉列表中所选内容的引用进行的。方法中的逻辑不应该创建新对象,而应该从现有列表中选择对象,如
$scope.selected_event_type.event_type= $scope.events.event_type_views[0]; //Logic to search the array events.event_type_views and find an element and assign
没有从普朗克身上挣脱code@ThomasPons请不要那样做。问题应该是独立的。如果你不断要求人们回答他们的问题,并把他们变成“笨蛋”,你就破坏了这个网站的目的,降低了我们问答的质量。@meagar抱歉,但这些问题是技术性的,你更喜欢一个plunkr和两个答案,一个有好的解决方案的快乐的家伙,或者一个有50个答案的帖子和一个失望的家伙。。。我不关心我关心的是那些difficulties@ThomasPons那么这不是适合你的网站。是的,就是这样!我想如果我将selected_event_type.event_type设置为一个对象,该对象的属性和值与events.event_type_视图中相应的属性和值相同,那么select将“匹配”它们并自我更新。不过你说得对,它实际上是通过引用进行比较的,而不是通过属性/值进行比较的。
$scope.selected_event_type = {
event_type: null
};
$scope.events = {
event_type_views: [
{name: 'Collision', partial: 'views/events/collision.html'},
{name: 'Boundary', partial: 'views/events/boundary.html'},
{name: 'Timer', partial: 'views/events/timer.html'},
{name: 'Input', partial: 'views/events/input.html'}
]
}
$scope.currentEventChanged = function () {
var current_event_type;
var current_event_partial;
for (var key in $scope.current_event.event_type) {
current_event_type = key.charAt(0).toUpperCase() + key.slice(1);
}
current_event_partial = 'views/events/' + current_event_type + '.html';
$scope.selected_event_type = {
event_type: {
name: current_event_type,
partial: current_event_partial
}
};
};
$scope.selected_event_type.event_type= $scope.events.event_type_views[0]; //Logic to search the array events.event_type_views and find an element and assign