AngularJS, получить область с идентификатором объекта

0

Можно ли получить конкретный объем объекта, присоединившись к нему через идентификатор?

Я использую угловое дерево 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, все области будут новыми, я хочу развернуть узел с идентификатором модели. Поэтому мне нужно знать, как я могу получить доступ к области с помощью идентификатора.

  • 0
    Можете ли вы поделиться кодом, который вы пробовали до сих пор?
  • 0
    Если вы имеете в виду область действия от идентификатора элемента ... да ... но проблема звучит больше как проблема в сохраняемой структуре объекта. Далеко не достаточно информации, чтобы помочь с. Сравнение рабочих данных с данными, которые вы сохраняете, поможет

2 ответа

0

Вы можете сделать это легко:

angular.element(document.querySelector('#myId')). scope();

или даже:

angular.element('#myId').scope();

Ура!

0

Пример кода для получения области действия элемента:

var documentResult = document.getElementsById("someId");
angular.element(documentResult).scope();

Официальные угловые документы об element:

https://docs.angularjs.org/api/ng/function/angular.element

scope() - извлекает область текущего элемента или его родителя. Требуется, чтобы данные отладки были включены.

Может прочитать это сообщение: Как мне получить доступ к переменной $ scope в консоли браузера, используя AngularJS?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню