2015-02-24 3 views
3

Django - это веб-фреймворк python, AngularUI Router - модуль AngularJS для героической маршрутизации. Вместе они борются с преступностью.Модуль «ui.router» AngularJS недоступен для моего проекта Djangular

Или они могли бы найти модуль «ui.router».

Here're мой импорт:

<script src="{% static 'angular.js' %}"></script> 
    <script src="{% static 'angular-route.js' %}"/> 
    <script src="{% static 'angular-ui-router.js' %}"></script> 
    <script src="{% static 'angular-cookies.js' %}"></script> 
    <script src="{% static '/djangular/app.js' %}"></script> 
    <script src="{% static 'js/app.js' %}"></script> 
    <script src="{% static 'js/services.js' %}"></script> 
    <script src="{% static 'js/controllers.js' %}"></script> 
    <script src="{% static 'js/filters.js' %}"></script> 
    <script src="{% static 'js/directives.js' %}"></script> 

Здесь {% static 'path/to/script' %} нотация ищет список путей для моего статического файла.

Вот они:

D:\Django_Projects\nwod_characters\static 
D:\Django_Projects\nwod_characters\static\css 
D:\Django_Projects\nwod_characters\static\fonts 
D:\Django_Projects\nwod_characters\static\img 
D:\Django_Projects\nwod_characters\static\js 
D:\Django_Projects\nwod_characters\static\js\app # angular-ui-router.js lives here 
D:\Django_Projects\nwod_characters\static\svg 
D:\Django_Projects\nwod_characters\characters\app 
D:\Django_Projects\nwod_characters\characters\app\css 
D:\Django_Projects\nwod_characters\characters\app\js 
D:\Django_Projects\nwod_characters\characters\app\partials 

И доказательство angular-ui-router существует, от возвышенного:

static files screenshot

А вот отрывок из моих app.js

angular.module('characters', ['djangular','ui.router', 
    'characters.filters', 'characters.services', 'characters.directives', 'characters.controllers']) 
    .config(['$stateProvider','DjangoProperties', 
    function($stateProvider, DjangoProperties, $urlRouterProvider) { 

    $urlRouterProvider.otherwise("/users"); 

    // Now set up the states 
     $stateProvider 
     .state('users', { 
      url: "/users", 
      templateUrl: "partials/users.html" 
     }) 

Я я попытался настроить этот файл правильно, но я не уверен на 100%. JavaScript не мой родной язык! В моем понимании файлangular-ui-router.js экспортирует модульui.router, что имеет поставщиков'$stateProvider' и $urlRouterProvider. Это правильно? Если да, то что я делаю неправильно?

Я также рассмотрел plunkr, предоставленный AngularUI Routing. Они настроить их приложение немного отличается, но я думаю, что результат должен быть таким же:

<script src="//angular-ui.github.io/ui-router/release/angular-ui-router.js"></script> 
.... 
var myapp = angular.module('myapp', ["ui.router"]) 
    myapp.config(function($stateProvider, $urlRouterProvider){ 

Итак, где я буду неправильно, что угловой не может загрузить ui-router модуль?

ответ

1

Проблема здесь:

<script src="{% static 'angular-route.js' %}"/> 
<script src="{% static 'angular-ui-router.js' %}"></script> 

Первая строка является попытка тег сценария закрывающиеся. This doesn't work.

0

В параметрах для вашего определения конфигурации есть ошибка, вы забыли добавить '$ urlRouterProvider' в список параметров в списке.

angular.module('characters', ['djangular','ui.router', 
    'characters.filters', 'characters.services', 'characters.directives', 'characters.controllers']) 
    .config(['$stateProvider','DjangoProperties', '$urlRouterProvider', 
    function($stateProvider, DjangoProperties, $urlRouterProvider) { 

    $urlRouterProvider.otherwise("/users"); 

    // Now set up the states 
     $stateProvider 
     .state('users', { 
      url: "/users", 
      templateUrl: "partials/users.html" 
     }) 
+1

Какая ошибка вы получаете? Вы можете принять любой подход (т. Е. Явно указать список зависимостей как строки в формате массива или просто определить функцию, как это было сделано в plunkr), вы заметите только различие, если вы минимизируете javascript. В этом случае версия plunkr перестанет работать, потому что как часть минимизации все имена параметров будут переименованы, а угловые не будут знать, какое значение нужно вводить; Подход массива состоит в том, чтобы предоставить явные строки, которые не будут перезаписаны при минитизации, поэтому зависимости могут быть добавлены. – thedoctor

+0

У вас есть несколько модулей символов, которые являются зависимостями вашего модуля, можете ли вы проснуться в ошибке, чтобы узнать, является ли это одним из них. Это не очень удобно, но вы должны уметь указывать, где проблема. – thedoctor

+0

Обнаружили ошибку: Я предполагал, что мои скриптовые теги были закрыты! – Pureferret

Смежные вопросы