У меня есть класс презентатора, написанный на CoffeeScript. Он находится в файле, который загружается перед контроллером AngularJS. Но я не могу использовать этот класс там. Как я могу использовать его?
ведущий:
class CompanyPresenter
constructor: (company) ->
@company = company
location: ->
if @company.business.city && @company.country_id
@company.business.city + ', ' + @company.country_id
else if @company.business.city
@company.business.city
else if @company.country_id
@company.country_id
else
undefined
контроллер:
@Sim.controller 'CompanyShowCtrl', ['$scope', '$http', '$stateParams',
'language'
($scope, $http, $stateParams, language) ->
$http.get('businesses/' + $stateParams.id).success((businessAttributes) ->
$scope.business = businessAttributes
# this doesn't work :(
$scope.businessPresenter = new CompanyPresenter($scope.business)
)
Я пытался избежать использования service
или factory
, потому что мне не нужен синглтон, я хочу инициализировать его с помощью моей модели и иметь возможность повторно использовать его.
Я добавил эту строку после определения класса
@Sim.value('CompanyPresenter', CompanyPresenter)
и ввел 'CompanyPresenter'
в CompanyShowCtrl
.