Используйте класс CoffeeScript в контроллере AngularJS

0

У меня есть класс презентатора, написанный на 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, потому что мне не нужен синглтон, я хочу инициализировать его с помощью моей модели и иметь возможность повторно использовать его.

  • 0
    Опубликуйте решение как ответ, а не в вопросе.
Теги:
class
coffeescript

1 ответ

0

Я добавил эту строку после определения класса

@Sim.value('CompanyPresenter', CompanyPresenter)

и ввел 'CompanyPresenter' в CompanyShowCtrl.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню