Можно ли получить конкретный объем объекта, присоединившись к нему через идентификатор?
Я использую угловое дерево ui для меню навигации. После добавления подэлемента и сохранения навигации в базе данных mysql узел с подпунктом не будет расширен. После нажатия я вижу, что меню расширяется, но после сохранения в базе данных и переопределения меню навигации узел не расширяется.
У кого-то есть решение?
JSON-Объект меню.
[
{
"id": 35,
"title": "foo",
"items": []
},
{
"id": 34,
"title": "bar",
"items": [
{
"id": 123,
"title": "foobar",
"items": []
},
]
},
{
"id": 46,
"title": "barfoo",
"items": []
},
]
Эта структура сохраняется со следующим кодом
function setMenu(nodeID) {
$http.post("...", {
"menuJSON" : $scope.menu
}).success(function (data, status, headers, config) {
if (status == 200) {
loadAdminNavigation();
}
});
};
После сохранения в базе данных mysql структура перезагружается с помощью этого кода
function loadAdminNavigation() {
$http.get("...").success(function (response) {
$scope.menu = response;
});
};
Если я добавлю SubItem, все области будут новыми, я хочу развернуть узел с идентификатором модели. Поэтому мне нужно знать, как я могу получить доступ к области с помощью идентификатора.
Вы можете сделать это легко:
angular.element(document.querySelector('#myId')). scope();
или даже:
angular.element('#myId').scope();
Ура!
Пример кода для получения области действия элемента:
var documentResult = document.getElementsById("someId");
angular.element(documentResult).scope();
Официальные угловые документы об element
:
https://docs.angularjs.org/api/ng/function/angular.element
scope() - извлекает область текущего элемента или его родителя. Требуется, чтобы данные отладки были включены.
Может прочитать это сообщение: Как мне получить доступ к переменной $ scope в консоли браузера, используя AngularJS?