Перечислите все функции внутри контроллера angularjs
У меня есть контроллер angularjs, внутри которого я определил method1 и method2.
Теперь мне нужен способ получить информацию об определенном методе внутри углового контроллера.
Я попытался с переменной $scope. Это дает мне доступ к функциям, но здесь мне нужно получить все методы, определенные как list(или что-то подобное).
когда я сказал $scope.getAllMethods
это должно дать мне информацию о method1
а также method2
который определяется внутри контроллера.
1 ответ
Решение
Как это?
- Получить все свойства $scope.
- Проверьте, имеют ли они тип функции.
Если они есть, нажмите на массив и зафиксируйте их.
$scope.methods = []; $scope.getAllMethods = function() { console.log($scope); var props = Object.getOwnPropertyNames($scope); for (var i = 0; i < props.length; i++) { if (typeof($scope[props[i]]) === 'function') { $scope.methods.push({ 'name': props[i], 'function': $scope[props[i]].toString() }) } }
}