簡體   English   中英

在配置塊中注入服務或工廠時出錯

[英]Error when injecting a service or factory in config block

我正在嘗試使用angular 1.6制作博客,除非我創建了服務並將其注入配置文件,否則一切工作正常。 測試指令工作正常,僅在注入myService服務/工廠時中斷。

咖啡

app = angular.module 'dts',['ngRoute']

app.service 'myService', ->
    this.asd = ""

app.directive 'ngHello', ->
    return {
        restrict:'E'
        replace: true
        template: "<h1>Hola mundo</h1>"
        link: (scope,element,attrs)->

    }

config.coffee

app = angular.module 'dts'

app.config ["$locationProvider","$routeProvider","myService", ($locationProvider,$routeProvider,myService)->

    $routeProvider

        .when "/",
            controller: "mainCtrl"
            templateUrl: "/app/views/index.html"

        .when "/blog",
            controller: "blogCtrl"
            templateUrl: "/app/views/blog/index.html"

        .when "/blog/post/:id",
            controller: "blogCtrl"
            templateUrl: "/app/views/blog/single.html"

        .when "/contact",
            controller: "contactCtrl"
            templateUrl: "/app/views/contact.html"

        .otherwise '/'



    $locationProvider.html5Mode
        enabled: true
        requireBase: false
]

腳本包括

script(src="/js/libs/angular.min.js")
script(src="/app/modules/angular-route.min.js")
script(src="/app/app.js")
script(src="/app/services/slugs.js")
script(src="/app/config.js")
script(src="/app/controllers/main.js")
script(src="/app/controllers/blog.js")

我做錯了什么?

我在1.6版本中搜索有關問題或不贊成服務或出廠的信息,但找不到任何內容。 我將角度降級到1.5.6,但也無法正常工作。

我試圖將服務/工廠移至應用文件,但也中斷了(在services.js上創建它之前)

您必須在配置中注入myServiceProvider ,而不能在配置函數中注入服務

從文檔中:

模塊加載和依賴關系

  • 配置塊 -在提供者注冊和配置階段執行。 只有提供者和常量可以注入配置塊。 這是為了防止在服務完全配置之前意外實例化服務。

— AngularJS開發人員指南-模塊(加載和依賴項)

路由表不能由服務創建或更改。

另一方面,服務可以注入到路由表的解析功能中,因為在應用程序的運行階段會調用這些功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM