У меня есть служба под названием DashboardLayoutStyleCalculatorService
следующими способами. Другие методы удалены, потому что они на самом деле не связаны с вопросом:Ошибка при вызове метода внутри службы из директивы в Coffeescript
styleFns =
table: @computeStyleForTable
single_value: @computeStyleForSingleValue
@computeStyleFor = (type, height = null) ->
return styleFns[type](height)
Эта услуга вызывается с помощью двух различных директив:
Directive 1:
scope.computeStyle = (component) ->
if component?.height?
height = component.height * 50
return DashboardLayoutStyleCalculator.computeStyleFor(component.element.type, height)
Директива 2:
scope.computeStyle = (element, rowComponent) ->
return DashboardLayoutStyleCalculator.computeStyleFor(element.type, rowComponent?.height?)
Что мой код делает в оболочке ореха, так это то, что в зависимости от типа ввода wi тонкий computeStyleFor
, он вызывает два разных метода для таблицы или визуализации одного значения. Существует также некоторый динамический расчет высоты, основанный на определенных параметрах, которые не являются полностью необходимыми для этого вопроса.
Когда я запускаю этот код в браузере, я получаю следующее сообщение об ошибке:
main.webpack-a9f3967e.js:27 TypeError: e[t] is not a function
at Object.computeStyleFor (https://localhost:54321/webpack/main.webpack-a9f3967e.js:10:17938)
at e.t.computeStyle (https://localhost:54321/webpack/main.webpack-a9f3967e.js:10:16879)
at fn (eval at compile (https://localhost:54321/webpack/vendor.webpack-6f544239.js:49:29700), <anonymous>:4:627)
at d.$digest (https://localhost:54321/webpack/vendor.webpack-6f544239.js:48:11027)
at d.$apply (https://localhost:54321/webpack/vendor.webpack-6f544239.js:48:12692)
at https://localhost:54321/webpack/vendor.webpack-6f544239.js:47:23881 undefined
Вероятно, есть проблема или с computeStyleFor
или styleFns
.