如何将父变量绑定到 ng-repeat中的选定值?

  • 本文关键字:ng-repeat 变量 绑定 html angularjs
  • 更新时间 :
  • 英文 :


我在下面有以下代码。当我从房子里选择一个单选按钮时。我想将该值设置为房屋的房间。已选房间。 我知道ng-repeat有一个子范围,我已经尝试了$parent的所有内容。SelectedRoom 到 $parent.house.SelectedRoom 但它似乎没有在父对象上设置属性。{{house.SelectedRoom}}{{house.SelectedRoom.Name}}未设置。

<div ng-app="myApp" ng-controller="mainController">
<div ng-repeat="house in town">
<span>SelectedRoom = {{house.SelectedRoom.Name}} </span> 
<div ng-repeat="room in house.Rooms">
<input type="radio" name="$parent.$index" ng-model="house.SelectedRoom" /> {{room.Name}}
</div>
<hr />
</div>
</div>

期望你的javascript正在运行,你需要使用value属性设置单选按钮的值。您已经指定了放置value的位置(house.SelectedRoom),但没有指定

放置该值的位置。
<div ng-app>
<div ng-controller="mainController">
<div ng-repeat="house in town">
<span>SelectedRoom = {{house.SelectedRoom}} </span> 
<div ng-repeat="room in house.Rooms">
<input type="radio" name="room.Name" value={{room.Name}} ng-model="house.SelectedRoom"/> {{room.Name}}
</div>
<hr />
</div>
</div>
</div>

当使用这样的 json 结构进行$scope.town时,这个角度代码有效:

$scope.town = [
{
Rooms: 
[
{
Name: "Living Room"
},
{
Name: "Kitchen"
}
],
SelectedRoom: ""
}
];

让它工作。 必须使用ng-value将对象绑定到单选按钮的值

<div ng-app="myApp">
<div ng-controller="mainController">
<div ng-repeat="house in town">
<span>SelectedRoom = {{house.SelectedRoom.Name}} </span>
<div ng-repeat="room in house.Rooms">
<input type="radio" name="$parent.$index" ng-value="room" ng-model="house.SelectedRoom" /> {{room.Name}}
</div>
<hr />
</div>
</div>    
</div>

最新更新