我翻看了關於此主題的前幾個問題,但找不到像這樣的任何內容。使用Angular重複嵌套對象
我的問題是,我想要製作第二個HTML單選按鈕陣列取決於哪個單選按鈕被選中。說對象的數組來我這個樣子:
"Names":[{
"name": "Fido",
"id": "1",
"type": [
{
"typeName": "Dog",
"typeId": "1"
},
{
"typeName": "Cat",
"typeId": "2"
},
{
"typeName": "Mouse",
"typeId": "3"
}
]
},
{
"name": "Bella",
"id": "2",
"type": [
{
"typeName": "Cat",
"typeId": "2"
},
{
"typeName": "Mouse",
"typeId": "3"
}
]
}]
我AngularJS代碼目前看起來是這樣的:
<label ng-repeat="item in nameList.Names">
<input type="radio" name="Name" ng-model="$parent.selectedName"
ng-value="item"> {{item.name}} </input>
<label ng-repeat="item in nameList.Names[$parent.selectedName.id].type"> <input
type="radio" name="Type" ng-model="$parent.selectedType"
ng-value="type"> {{item.typeName}}</input>
</label>
</label>
我敢肯定,這是不是因爲工作到$ parent.selectedName .id part - ng-repeat已經創建了一個子範圍,所以這將是原始範圍的「孫」,這意味着$ parent只是指上述腳本而不是代碼的其餘部分。
有沒有辦法解決這個問題,所以我可以有一個列表,根據第一個選定的值更改選項?
編輯:我其實想要做的是,我希望能夠選擇一個單選按鈕(在這種情況下「Fido」或「貝拉」),並根據選擇具有「類型」陣列彈出第二個單選按鈕列表。有沒有辦法使這項工作,或我需要分裂的「名稱」 - 對象?
將是巨大的,如果你可以創建一個相同的小提琴。以便我們瞭解您期待的HTML :) –
http://jsfiddle.net/Lf9dpd3k/ - 因爲我真的不知道代碼應該是什麼樣子,所以無法做更多的事情。我希望第二個單選按鈕變得可見,只要我選擇前兩個單選按鈕中的一個,第二個單選按鈕應該以內部「類型」數組中的元素命名。 – Alex
看看答案。我想這是你正在尋找的答案:) –