У меня есть ответ json, как указано ниже, из бэкэнда JSON:
{
"json": {
"response": {
"servicetype": "1",
"functiontype": "10011",
"statuscode": "0",
"statusmessage": "Success",
"data":{
"roleid": 36,
"rolename": "Product Managers",
"divisionlabel": "Department ",
"subdivisionlabel": "Category",
"roleinformation": {
"QA": [
{
"White Box Testing": 10
}
]
}
},
{
"roleid": 38,
"rolename": "Managers",
"divisionlabel": "Department ",
"subdivisionlabel": "Category",
"roleinformation": {
"QA": [
{
"Black Box Testing": 10
}
]
}
}
}
}
}
}
Я ввел имена своих ролей в раскрывающемся списке $ scope.model.rolename.
Если мое ролевое имя выбрано в качестве менеджеров продуктов, я хочу присвоить значение моего значения $ scope.maxcount как "White Box Testing": 10
Оно должно быть динамическим, на основе выбора значение изменится. Теперь в раскрывающемся списке, если я выберу Менеджер, значение $ scoope.maxcount для менеджера изменится. Я сделал до выпадающего списка, не знаю, как справиться после него.
JS:
' 'UserService.getAssignRoles(json).then(function(response) {
if (response.json.response.statuscode == 0 && response.json.response.statusmessage == 'Success')
{
$scope.model.roles= [], assignrolesArray = [];
assignrolesArray = unasresdata.concat(assresdata);
$scope.model.assignroles = assignrolesArray;
}
});
HTML:
<select class="form-control" name="role"
ng-model="model.rolename"
ng-change="getassignRole(model.rolename)">
<option selected>Select Roles</option>
<option ng-repeat="role in model.assignroles track by $index"
value="{{role.rolename}}">{{role.rolename}}</option>
</select>
<input type = "text" ng-model=$scope.maxcount>
Вы можете передать свой model.assignroles и значение области в эту функцию getassignRole(), и из этого вы можете получить свойство и установить его в свою переменную области видимости.
Устанавливайте библиотеку lodash и вводите ее.
HTML
ng-change="getassignRole(model.assignroles, model)"
JS
$scope.getassignRole= function(model.assignroles, rolename){
console.log(model.assignroles);
var test = _.filter(model.assignroles, function(o){
return o.rolename === rolename;
})
console.log(rolename);
console.log(test[0].roleinformation);
};
Пример jsfiddle: https://jsfiddle.net/alpeshprajapati/5kpxzrgf/1/
Тогда вы можете получить доступ к требуемому имуществу.
Надеюсь, поможет.