2015-07-22 2 views
0

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

Я использую угловое дерево 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; 
     }); 
    }; 

Если добавить подэлемент, все области являются новыми, я хочу расширить узел с идентификатором модели. Поэтому мне нужно знать, как я могу получить доступ к области с помощью идентификатора.

+0

Можете ли вы поделиться кодом, который вы пробовали до сих пор? – Jax

+0

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

ответ

0

Пример код, чтобы получить объем элемента:

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

Официальных Угловых Документы о element:

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

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

Можно читать этот пост: How do I access the $scope variable in browser's console using AngularJS?

0

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

angular.element (document.querySelector ('#myId')) область видимости();.

или даже:

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

Cheers!

Смежные вопросы