СИТУАЦИИ:Как правильно выполнить функцию внутри нг-повтора
Я делаю приложение в AngularJs, которые присваивают права доступа. Для этого у меня есть три вложенных ng-repeat.
Первый цикл: дисплей РАЗРЕШЕНИЕ GROUP
Второй контур: Для каждого разрешения группы дисплейных КАТЕГОРИЙ. Внутри этого цикл выполняет функцию, которая будет получать все подкатегории для каждой категории
Третьего цикл: дисплея подкатегорий
ВОПРОС:
Проблема заключается в выполнении функции внутри второго цикла.
ПОПЫТКА 1 - нг-INIT:
<div class="row" ng-repeat="permission_group in list_permission_groups">
<div class="col-sm-3">
<h3>
{{permission_group.permission_group_name}}
</h3>
</div>
<div class="col-sm-9">
<ul>
<li ng-repeat="category in list_categories">
<span>
{{ category.name }}
</span>
<div class="checkbox">
<label>
<div ng-init="temp_result = get_Sub_Categories(category.category_id)">
<p ng-repeat="sub_category in temp_result">
{{ sub_category.name }}
</p>
</div>
</label>
</div>
</li>
</ul>
</div>
</div>
В контроллере:
$scope.get_Sub_Categories = function(category_id) {
$http({
url: base_url + 'main/json_get_list_sub_categories',
data: {
category_id: category_id
},
method: "POST"
}).success(function(data) {
return data;
});
}
поведение Te довольно странно. Потенциально из-за грязной проверки страница загружается 682 раза. Результат не отображается.
ПОПЫТКА 2 - нг-нажмите: (только для отладки)
<div class="row" ng-repeat="permission_group in list_permission_groups">
<div class="col-sm-3">
<h3>
{{permission_group.permission_group_name}}
</h3>
</div>
<div class="col-sm-9">
<ul>
<li ng-repeat="category in list_categories">
<span>
{{ category.name }}
</span>
<div class="checkbox">
<label>
<button ng-click="get_Sub_Categories(category.category_id)">
GET SUB-CATEGORIES
</button>
{{ list_sub_categories }}
</label>
</div>
</li>
</ul>
</div>
</div>
В контроллере:
$scope.get_Sub_Categories = function(category_id) {
$http({
url: base_url + 'main/json_get_list_sub_categories',
data: {
category_id: category_id
},
method: "POST"
}).success(function(data) {
$scope.list_sub_categories = data;
});
}
На этот раз страница загружена только один раз. Если я нажму кнопку, отображаются соответствующие подкатегории, но, конечно, не только для соответствующей категории, но и для ВСЕГО, потому что я изменяю var в глобальной области.
ЦЕЛЬ:
То, что я хочу, чтобы получить просто отображая все соответствующие подкатегории для каждой категории. Без использования кнопки, но просто посмотрите все необходимое содержимое, как только загрузится страница. Но я не понимаю, как это можно сделать правильно в AngularJs.
ВОПРОС:
Как я правильно выполнить функцию внутри нг-повторить, что возвращение и отображать различные данные для каждого цикла?
EDIT - свалка ПРИМЕРЕ подкатегорий одной категории:
[{
"sub_category_id": "1",
"name": "SUB_CATEGORY_1",
"category_id_parent": "1",
"status": "VISIBLE"
}, {
"sub_category_id": "2",
"name": "SUB_CATEGORY_2",
"category_id_parent": "1",
"status": "VISIBLE"
}, {
"sub_category_id": "3",
"name": "SUB_CATEGORY_3",
"category_id_parent": "1",
"status": "VISIBLE"
}, {
"sub_category_id": "4",
"name": "SUB_CATEGORY_4",
"category_id_parent": "1",
"status": "VISIBLE"
}]
Можете ли вы опубликовать дамп данных, которые вы пытаетесь отобразить? Идея понятна, но, не видя входных данных, сложно сделать предложение. – Yoshi
Хорошо, спасибо. Я добавил отредактированный вопрос. – johnnyfittizio
Хорошо, я не был достаточно ясен, извините. Не могли бы вы добавить короткий дамп всех входных данных? Это включает в себя 'list_permission_groups' и как эти значения относятся к' list_categories'. – Yoshi