[英]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
,而不能在配置函數中注入服務
從文檔中:
模塊加載和依賴關系
- 配置塊 -在提供者注冊和配置階段執行。 只有提供者和常量可以注入配置塊。 這是為了防止在服務完全配置之前意外實例化服務。
路由表不能由服務創建或更改。
另一方面,服務可以注入到路由表的解析功能中,因為在應用程序的運行階段會調用這些功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.