【问题标题】:AngularJS Module 'ui.router' is not available for my Djangular projectAngularJS 模块“ui.router”不适用于我的 Djangular 项目
【发布时间】:2015-04-25 20:57:03
【问题描述】:

Django 是一个 python web 框架,AngularUI Router 是一个用于英雄路由的 AngularJS 模块。他们一起打击犯罪。

如果它可以找到“ui.router”模块,他们会这样做。

这是我的导入:

  <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

并且来自 Sublime 的证明 angular-ui-router 存在:

这是我的 app.js 中的一个 sn-p

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,它具有providers '$stateProvider'$urlRouterProvider。那正确吗?如果是这样,我做错了什么?

我还查看了 AngularUI Routing 提供的plunkr。他们对应用的配置略有不同,但我认为结果应该是一样的:

 <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){

那么我哪里出错了,Angular 无法加载 ui-router 模块?

【问题讨论】:

    标签: javascript python django angularjs angular-ui-router


    【解决方案1】:

    问题出在这里:

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

    第一行是一个自闭合脚本标签的尝试。 This doesn't work.

    【讨论】:

      【解决方案2】:

      您的配置定义的参数有错误,您忘记将“$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"
              })
      

      【讨论】:

      • 您遇到的错误是什么?您可以采用任何一种方法(即,明确地将依赖项列表作为数组格式的字符串给出,或者只是像在 plunkr 中所做的那样定义函数),如果您最小化 javascript,您只会注意到不同之处。在这种情况下,plunkr 版本将停止工作,因为作为最小化的一部分,所有参数名称都将被重命名,并且 angular 将不知道要注入什么值;数组方法是提供显式字符串,在最小化时不会重写,因此仍然可以注入依赖项。
      • 您有几个字符模块,它们是您的模块的依赖项,您可以深入了解错误以查看它是否是一个。它对用户不是很友好,但您应该能够确定问题出在哪里。
      • 发现错误:我假设我的脚本标签是自动关闭的!
      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2015-05-03
      • 2014-08-14
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      • 2019-10-07
      相关资源
      最近更新 更多