2015-11-25 4 views
1

Я хотел бы, чтобы все мои объекты $scope содержали специальный вспомогательный метод, который я использую для получения данных, таких как $scope.getData('member.submember.othermember'), иначе мне нужно было бы сделать $scope['member']['submember']['othermember'].

Идея состоит в том, чтобы добавить этот метод .getData ко всем созданным объектам $scope по умолчанию.

Есть ли какая-либо точка расширяемости, где я могу добавить это?

+0

Второй вариант короче. Нет необходимости в скобках, если вы знаете имена свойств. Такой метод уже существует. – zeroflagL

+0

Если вы хотите получить доступ к этому же свойству из области root/parent, то вы всегда можете сделать какой-либо метод там или использовать более короткие обозначения. Если вы хотите получить доступ к другим свойствам ... это плохая идея. –

ответ

2

Угловые прицелы использовать JS прототипичный наследование, можно добавить специальный метод для всех областей применения (в дополнение к existing $ методы) с

$rootScope.constructor.prototype.$getData = function() { ... }; 
+0

, и вы добавляете это в функцию 'app.run (...)' – sirrocco

+0

Это можно сделать и в декораторе $ rootScope, чтобы избежать условий гонки. – estus

+0

Он работает так, как я хотел, спасибо! – vtortola

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