TLDR; Когда вы пытаетесь получить доступ к taApplyCustomRenderers
, вы получаете ошибку, поскольку она не передана этой текущей функции, введите функцию, и она будет работать.
Проблема
Хотя я никогда не пытался использовать textAngular, позвольте мне объяснить, в чем проблема, и оттуда должно быть легко найти решение.
Ваш EditController
это просто обычная функция javascript, которая запускается и присоединяется к соответствующему элементу DOM, поэтому она имеет доступ только к функциям, которые объявлены в своей собственной области (или глобально).
Вот ваш точныйКод просто имеет другой отступ, так что вы можете лучше понять:
angular.module('dashboard').controller(
'EditController',
[
'$scope',
'$http',
'$location',
'$routeParams',
function ($scope, $http, $location, $routeParams) {
...
$scope.somefield = taApplyCustomRenderers($scope.somefield);
}
]
);
Как видите, controller function
имеет два параметра, первый из которых string
, а второй * array
,и последний element
в array
является просто обычным function
.
Решение
Проверка textAngular документации Я видел, что taApplyCustomRenderers
это фабрика, а это значит, что вы можете ввести егов функции вашего контроллера так:
angular.module('dashboard').controller('EditController',
['$scope', '$http', '$location', '$routeParams', 'taApplyCustomRenderers',
function ($scope, $http, $location, $routeParams, taApplyCustomRenderers) {
taApplyCustomRenderers(); // is now Available.
}
]);