Путаница с государственным провайдером в coffeescript/javascript

Новое в Angular/Javascript:

Я пытаюсь удалить старый файл coffeescript (rent-roll.coffee) и заменить его на rent-roll.js, но у меня проблема с поставщиком маршрутизации / состояния.

Существующая маршрутизация отлично работает с файлом coffeescript, но я получаю следующую ошибку при замене старого файла:

Ошибка: [ng:areq] Аргумент 'RentRollCtrl' не является функцией, получил неопределенный

Маршрутизация настроена следующим образом:

        .state 'manager.accounting.rent-roll',
        url: '/rent-roll'
        views:
            main:
                controller: 'RentRollCtrl'
                templateUrl: 'manager-dashboard/accounting/rent-roll/rent-roll.tpl.html'

Я подозреваю, что делаю очень элементарную ошибку, связанную с тем, что маршрутизация происходит из другого файла, так как я привык только к очень простой одностраничной маршрутизации.

Мой код rent-roll.js выглядит следующим образом:

(function () {
    "use strict";
angular
.module('roomchoice.manager-dashboard.accounting.rent-roll', [
  'ui.router'
])

.controller('RentRollCtrl', RentRollCtrl);

function RentRollCtrl($scope, Restangular) {}

и т. д.

Я понимаю, что делаю что-то простое неправильно в создании экземпляра контроллера, но мне не хватает концептуального понимания, чтобы понять, что и документы провайдера состояний не были особенно полезны (или я что-то упустил в них), любая помощь приветствуется!

1 ответ

Решение

На вашей главной странице HTML включить <script src="your controller js location"></script> ссылка на файл контроллера js.

Кроме того, вы создаете новый угловой модуль здесь. Поэтому проверьте, включили ли вы зависимость в основной модуль. Если нет, пожалуйста, добавьте этот модуль в качестве зависимости от основного модуля.

angular.module ('имя вашего основного модуля', [добавьте свою зависимость здесь]);

Другие вопросы по тегам