AngulaJS $ watch переменная со странным именем

0

По причинам, которые не входят сюда, у меня есть переменная с именем placements[] в области $ scope. Как в $scope.object['placements[]'] = {.. }. Я хотел бы посмотреть эту переменную, но не кажется, что существует способ смотреть такую переменную, так как $watch принимает выражение.

Нет ничего о том, как обращаться с этим в угловых документах, поэтому, если у кого есть подсказка или трюк, это было бы здорово. Мое текущее обходное решение - $scope.$watch('object', function() {}, true), но это далеко не идеальное решение.

  • 0
    Работает ли $scope.$watch("object['placements[]']", function() {}) ?
Теги:

2 ответа

1

Я сумасшедший. Очевидно, что поскольку угловые выражения являются действительными выражениями JavaScript, вы можете сделать это:

$scope.$watch("object['placements[]']", callback, true);

Уродливый, но он работает

-1

$scope.$watch может принимать функцию или строку. В этом случае имеет смысл передать функцию, возвращающую объект для просмотра

$scope.$watch(function() { return $scope['placements[]']; }, function(value) { ... });

Это предполагает, что объект области видимости выглядит так:

{
    'placements[]': {...}
}
  • 1
    Ты не можешь Вы не пробовали это ясно
  • 0
    Работает нормально: codepen.io/anon/pen/remVbW?editors=1111
Показать ещё 1 комментарий

Ещё вопросы

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